Commit Graph

421 Commits (d76d0c239cd02eefcab30f02fa2eb84eaf4f3cdc)

Author SHA1 Message Date
Rye ba30737d8f Merge branch 'develop' of github.com:secondlife/viewer into rye/infinitemac 2025-08-20 18:04:55 -04:00
Andrey Kleshchev 82e6e42b9e #4527 Crash trying to upload a huge image
Raw image permits only a 256 MB buffer so this isn't unexpected.
2025-08-13 00:21:28 +03:00
TommyTheTerrible ac5d59b939
calcDataSizeJ2C Adjust curve for more than 6 layers (#4018, #4020)
KDU is uploading 2k files with 7 and 8 layers which is shifting the location of discard 1 and 2.

To accommodate, this commit adds a max_layer check based on max_dimension and the MAX_BLOCK_SIZE to allow the extra layers for 2k.

Also shifted the starting size to the MIN_LAYER_SIZE instead of MAX_BLOCK_SIZE's area to allow smaller files to be decoded at discard 5 completely.

Finally able to walk around Fantasy Faire without any gray blobs!
2025-05-05 10:00:36 +03:00
Ansariel Hiller 47015ed0b7 Fix memory leak in LLImageDimensionsInfo (#2679) 2025-04-18 23:10:40 +03:00
Rye 4a56738e4f Disable LLImageJPEG setjmp hack when building on ARM to avoid crash 2025-02-11 05:04:10 -05:00
Andrey Kleshchev 25969b330e viewer#2608 Crash at LLSnapshotLivePreview::getFormattedImage 2024-09-19 20:56:10 +03:00
TommyTheTerrible 2f692fbac3
Update calcDataSizeJ2C to stop undersized blocks (#2525)
The initial block area for the pyramid walk should not be smaller than the max_block_size area so need an llmax to not allow multiplication below 1.

This was causing decode errors for complex small images (128x128 or smaller) on discard 1 and 2.
2024-09-09 12:31:00 +03:00
TommyTheTerrible 17f515cd3e
Update LLImageJ2C::calcDataSizeJ2C for better 2k image support (#2406)
Adjusted calculations based on dimensions and assumed maximum block size so that higher discards (4-5) of 2048x2048 images can be decoded with aux/alpha.

(It should also work for dimensions larger than 2048.)

This function will now return a reliable discard 5 data size for unknown dimensions (w and/or h equals 0), which could be used in LLTextureFetch::createRequest to skip the header fetch and go right to a discard 5 decode.

Tested on OpenJPEG 2.5 with partial decode support (opj_decoder_set_strict_mode set to false).

Should work on KDU fine but might be a good idea to test.
2024-08-24 07:21:03 +03:00
Ansariel Hiller 9f7dd01772
Clean up boost includes and remove compiler warning pragma for unreachable code in PCH (#2361) 2024-08-20 18:41:48 +03:00
Rye Mutt b5e306f7d8
Enable /permissive- on MSVC for better standards conformance (#2251)
* Enable /permissive- on MSVC for better C++ conformance and fix related errors

* Clean up left over warning suppressions from old library or msvc versions
2024-08-14 08:01:02 -07:00
TommyTheTerrible bffd4a12b8
calcDataSizeJ2C adjusted to use maximum possible components (#2073)
Previous pyramid walking calculation (#2032) assumed the incoming components variable can be accurate but unfortunately the needs_aux is only set to true if the face has an alpha mask setting.

Without this information we must assume the J2C files have the maximum component size of four so that alpha channels are found when decoding both the color and aux textures.
2024-07-20 13:37:23 +03:00
Ansariel Hiller 6535ce51fd
Remove unnecessary code and (re-)add some more compile time constants (#2057) 2024-07-18 10:48:24 +03:00
TommyTheTerrible 2f83b0aed2
Fix: Update calcDataSizeJ2C to pyramid-base file size estimation (#2032)
* Fix: Update calcDataSizeJ2C to pyramid-base file size estimation

Used the loop from the previous LayerFactored method to create a more accurate file size estimation by walking up the pyramid tiles.

Sizes are much larger in many cases and eliminate partial decoder issues with OpenJPEG.

KDU not tested but expected to produce better files as well.

Should also stop decode failures on tiny or very rectangular dimensions.



---------

Co-authored-by: Andrey Lihatskiy <alihatskiy@productengine.com>
2024-07-17 04:02:57 +03: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
Ansariel 77374d9fbc Fix texture fetch request getting canceled if request counter flips over 2024-06-21 12:56:57 +02:00
Brad Linden 9775d7ea10 Merge remote-tracking branch 'origin/release/maint-a' into project/gltf_development 2024-06-11 17:42:17 -07: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
Ansariel c0fad3028f Re-enable compiler warnings C4018, C4100, C4231 and C4506 2024-06-10 16:42:43 +02: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 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 33ad8db775 #1457 Fix the tests on mac
(cherry picked from commit 82d7137825)
2024-05-15 09:35:28 -04:00
Andrey Lihatskiy c8217c156a Merge branch 'release/maint-x' into marchcat/x-mf-merge 2024-05-15 12:51:50 +03:00
Andrey Lihatskiy d9153532b8 Merge branch 'main' into marchcat/x-mf-merge
# Conflicts:
#	doc/contributions.txt
#	indra/newview/llfloaterimagepreview.cpp
2024-05-15 12:51:21 +03:00
Andrey Lihatskiy b06a99f7c7 Post-merge spaces fix 2024-05-15 12:47:27 +03:00
Andrey Lihatskiy bf1235b017 Merge branch 'marchcat/w-whitespace' into marchcat/x-mf-merge 2024-05-15 12:46:26 +03:00
Andrey Lihatskiy 82d7137825 #1457 Fix the tests on mac 2024-05-14 11:24:35 +03:00
Jonathan "Geenz" Goodman 54816bdf81
Fix for mirrors not functioning properly under water. (#1436)
* #1165 Fix for clipping and culling for mirrors under water.
2024-05-08 13:40:58 -07: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 38c2a5bde9 Merge branch 'marchcat/w-whitespace' into marchcat/x-ws-merge 2024-05-01 08:16:58 +03:00
Nat Goodspeed 0907fdd926 Adapt llimageworker_test for updated virtual method API.
This was a broken test that got all the way to viewer release and the main
branch.

(cherry picked from commit a33a9d29380e6c1a0a9cc539be309d47adef4acf)
2024-04-29 23:51:02 +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
cosmic-linden 6f51d909a2
Merge pull request #1337 from secondlife/v-1184
Cached minimap textures still using extra memory/loading still not reliable
2024-04-26 09:27:27 -07:00
Cosmic Linden 668c63c2c4 secondlife/viewer#1184: Remove logspam 2024-04-26 09:25:08 -07:00
Cosmic Linden aac18ada71 secondlife/viewer#1184: Use more robust/memory-friendly setLoadedCallback for minimap gen. Fix some emissive maps. 2024-04-25 16:48:07 -07:00
Nat Goodspeed f886a438ed Adapt llimageworker_test for updated virtual method API.
This was a broken test that got all the way to viewer release and the main
branch.

(cherry picked from commit a33a9d29380e6c1a0a9cc539be309d47adef4acf)
2024-04-25 14:38:00 -04:00
Brad Linden 86c0c1d553 Merge remote-tracking branch 'origin/main' into release/materials_featurette 2024-04-24 09:55:34 -07:00
Andrey Lihatskiy 85f2447b3d Merge branch 'main' into marchcat/a-merge
# Conflicts:
#	autobuild.xml
#	indra/llimage/llimage.cpp
#	indra/llui/llsearcheditor.cpp
#	indra/llui/llview.cpp
#	indra/newview/llagent.cpp
#	indra/newview/llappviewer.cpp
#	indra/newview/llfloatercamera.cpp
#	indra/newview/llfloatereditsky.cpp
#	indra/newview/llfloatereditwater.cpp
#	indra/newview/llinventoryfunctions.cpp
#	indra/newview/lloutfitgallery.cpp
#	indra/newview/lloutfitslist.cpp
#	indra/newview/llpanelgroupbulkban.cpp
#	indra/newview/llsidepanelappearance.cpp
#	indra/newview/llvovolume.cpp
2024-04-24 19:28:15 +03:00
Andrey Lihatskiy 428f21cf79 Merge branch 'main' into marchcat/x-merge 2024-04-24 18:45:54 +03:00
Andrey Lihatskiy 9bc190c8d3
Merge pull request #1211 from secondlife/marchcat/x-merge
Release (Maint W) -> Maint X merge
2024-04-12 17:05:23 +03:00
Andrey Kleshchev f5a7fba76a viewer-private#226 Unhandled PngError throws application into a loop
png_read_info triggered a PngError, LLAppViewer::frame() handled it
instead of LLPngWrapper::readPng, and since status didn't
change viewer tried to decode image again and again and again.
2024-04-12 16:03:07 +03:00
Andrey Lihatskiy eab5beb54c Merge branch 'main' into marchcat/x-merge
# Conflicts:
#	indra/llimage/llimageworker.cpp
#	indra/llimage/llimageworker.h
#	indra/newview/llcontrolavatar.cpp
#	indra/newview/llfloaterprofiletexture.cpp
#	indra/newview/lloutfitslist.cpp
#	indra/newview/lloutfitslist.h
#	indra/newview/lltexturefetch.cpp
2024-04-12 15:43:34 +03:00
Ansariel d0102af56d Merge branch 'main' of https://github.com/secondlife/viewer into DRTVWR-600-maint-A
# Conflicts:
#	indra/llcommon/llapp.cpp
#	indra/llcommon/llapp.h
#	indra/llimage/llimageworker.cpp
#	indra/llui/llcontainerview.cpp
#	indra/llui/llcontainerview.h
#	indra/llui/llkeywords.cpp
#	indra/llui/lltabcontainer.cpp
#	indra/llui/lltextbase.cpp
#	indra/newview/llappviewer.cpp
#	indra/newview/llfavoritesbar.cpp
#	indra/newview/llfavoritesbar.h
#	indra/newview/llfloaterimnearbychathandler.cpp
#	indra/newview/llfloaterpreference.cpp
#	indra/newview/llhudnametag.h
#	indra/newview/llinventorypanel.cpp
#	indra/newview/llinventorypanel.h
#	indra/newview/llmeshrepository.cpp
#	indra/newview/lloutfitgallery.cpp
#	indra/newview/lloutfitslist.cpp
#	indra/newview/llpaneleditwearable.cpp
#	indra/newview/llpanelprofilepicks.cpp
#	indra/newview/llpanelvoicedevicesettings.h
#	indra/newview/llpreviewscript.cpp
#	indra/newview/llpreviewscript.h
#	indra/newview/llselectmgr.cpp
#	indra/newview/lltranslate.cpp
#	indra/newview/llviewerassetupload.cpp
#	indra/newview/llviewermessage.cpp
2024-04-11 21:59:38 +02:00
Andrey Lihatskiy 84dfe55810 Merge branch 'main' into marchcat/y-merge
# Conflicts:
#	autobuild.xml
#	indra/llcommon/llsys.cpp
2024-04-10 07:08:25 +03:00
Brad Linden 5a47a3cb23 Merge remote-tracking branch 'origin/main' into release/materials_featurette 2024-04-09 14:17:34 -07:00
Andrey Lihatskiy 990c8b81da Merge branch 'main' into marchcat/yz-merge 2024-03-27 01:40:12 +02: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