Commit Graph

77535 Commits (55a39da74e2cf90bf832b70de116dc736c65e3fd)

Author SHA1 Message Date
minerjr 55a39da74e FIRE-35081 Blurry prims not changing with graphics settings, not happening with SL Viewer - cont.
Refined the logic for the textures to include animated textures to not be downscaled They are not forced to be high boost level.
Update the logic of how to process the on screen max vsize to be simpler.
Added split time max_time for the updateImagesCreateTextures, as originally they were two different functions and can save doubled the time for each.
Added time limit on LLViewerObjectList::updateApparentAngles, as it it affects the Textures in the texture list and worked on a fixed # of objects per frame and each object is variable in the amount of processing required, affecting frame rate and # of textures updated.
2025-02-27 08:55:47 -04:00
Ansariel e518cba882 Merge branch 'release/2024.12-ForeverFPS' of https://github.com/secondlife/viewer
# Conflicts:
#	indra/llrender/llfontfreetype.h
2025-02-26 10:04:47 +01:00
Ansariel 645c76be61 Merge branch 'master' of https://github.com/FirestormViewer/phoenix-firestorm 2025-02-26 09:48:32 +01:00
minerjr 742ec3d13e FIRE-35198 Limit VRAM texture usage UI control reverts to default value
The manual control for the Limit VRAM texture usage in the Preferences->Graphics->Hardware Settings did not restore the saved value of the slider upload load.

So when the viewer would load, it would indeed load the saved value, but the value was not reflected upon by the slider on the page. This caused issues of when a user went to move the slide back to it's intended position it would set off the bias system as well as make the user not have confidence in that the feature is working.

Added a call to the ser value of the UI control on refresh enable state of the UI floater for the preferences to the saved RenderMaxVRAMBudget.
2025-02-26 04:00:31 -04:00
Angeldark Raymaker c3a66a2f2d FIRE-35161: Export more joints to BVH
That's most of them. Refactor BVH writing a tiny bit.
2025-02-25 20:11:12 +00:00
Angeldark Raymaker 257a1d3bd4 FIRE-35161: Revert all joint state when animation stops
Collision volumes always needed it, but some infrequently posed joints do too, and it simiplifies the code.
2025-02-25 20:09:21 +00:00
Beq Janus e132dd4a3d
Merge pull request #83 from AyaneStorm/pr-Fire-35185-link-rendering-in-pick-and-1stlife
[FIRE-35185] Profile preview removing embedded URLs from 1st Life tab
2025-02-25 14:26:22 +00:00
Jonathan "Geenz" Goodman ca079bc149
Merge pull request #3610 from secondlife/geenz/mirrors-enabled-fix
#3331 - Mirrors no longer function on relog
2025-02-25 09:07:45 -05:00
Jonathan "Geenz" Goodman ae7658de24 Mitigation for #3331 2025-02-25 08:50:25 -05:00
Jonathan "Geenz" Goodman 5b425eb9dc
Merge pull request #3602 from secondlife/geenz/eep-setting-fixes
- #3594 Adjustments to mitigate sun reflection being too narrow.
2025-02-24 17:20:48 -05:00
Jonathan "Geenz" Goodman 62cf4781af
Merge branch 'release/2024.12-ForeverFPS' into geenz/eep-setting-fixes 2025-02-24 17:19:55 -05:00
Jonathan "Geenz" Goodman 3dde346975 Backout minimal+ change. 2025-02-24 17:19:41 -05:00
Andrey Kleshchev 5b968b7209 #3332 Remake glyph count into cache generation
1. Cover reset with 'generation'
2. Fix lapse of judgement with mLastFontGlyphCount, it should have been
saved before render(), not after
2025-02-24 19:31:16 +02:00
chanayane 538dcb0da2
Fix FIRE-35185 (disables link rendering while editing picks or 1st life) 2025-02-23 22:55:15 +01:00
Jonathan "Geenz" Goodman 892628c7f3 Quick fix for null pointer in LLDrawPoolWater 2025-02-23 12:54:50 -05:00
Jonathan "Geenz" Goodman d2fd2f49e3 Cleanup 2025-02-23 12:20:11 -05:00
PanteraPolnocy 33d1961a7e Add the '[UNTRUSTED_URL]' across all languages 2025-02-23 15:37:39 +01:00
Jonathan "Geenz" Goodman 3e2da8e584 Accidental double linearization, try roughness ^2 for water punctual light. 2025-02-22 14:17:43 -05:00
Ansariel eeae01eee2 Remove orphaned shader 2025-02-22 16:54:25 +01:00
minerjr 097bbc7c26 FIRE-35081 - Updated logic
Updated the math to remove the need to store the variable and use it again
Updated the "TextureCameraBoost" to default to 7, as we add 1 to the value now instead of using max (TextureCameraBoost, 1.0f)
2025-02-22 11:12:36 -04:00
minerjr 6a4ec7a0b4 FIRE-35081 - Updated logic
Cleaned up the logic to be 1, cleaner and 2, more performant.
Moved allocations outside the loop as well as the static texture_camera_boost setup as it should be only done once and not every time a face is on screen.
Cleaned up switch statements into couple of if statements as switch logic would be only good if only 1 level to be used.
2025-02-22 10:46:40 -04:00
Andrey Kleshchev b2e3159ce7 viewer-private#398 Fix constant asset rerequests 2025-02-22 13:02:52 +02:00
minerjr 7bd44050a6 FIRE-35081 Blurry prims not changing with graphics settings, not happening with SL Viewer
Added new logic in the LLViewerTextureList::updateImageDecodePriority method to better handle the texture quality.

- Apply new rules to bias discard, there are now 2 bias, off-screen and on-screen.
        On-screen Bias
        Only applied to LOD Textures and one that have Discard > 1 (0, 1 protected)

- Off-screen Bias
        Will be using the old method of applying the mMaxVirtualSize, however
        only on LOD textures and fetched textures get bias applied.

         Local (UI & Icons), Media and Dynamic textures should not have any discard applied to them.

Without this, textures will become blurry that are on screen, which is one of the #1 user complaints.

So now, only LOD textures will change on screen, except for Fetched textures when the bias is greater then 2.00.

Also made possible fix for edge case of multiple faces for 1 texture, the last face dictates which happens to the texture. Now any that are in camera will flip signal that it is on screen.

System can be made to be be flexible.

To test out, Go to Preferences->Graphics->Rendering Settings and move the VRAM override to the far left. Then walk around and try to notice if there are any downscaled or blurry textures. To test a blurry object. Right click on it and pick edit. All of the game objects will have a max quality texture applied. Click off and see if the texture on the object changes quality to a blurred mess.
2025-02-22 00:12:07 -04:00
Beq 2e81a07db9 FIRE-34243 - RLVFLegacy (Mac only) shader is broken
Initially I cleaned up the legacy shader to remove the errors, turns out though that the legacy shader is not needed any more. Tested on Mac Mini
2025-02-22 01:41:11 +00:00
minerjr c121c12f77 Fixed fast cache read creating invalid textures (1024x1024+ sized)
When saving textures to the fast cache, which only supports 16x16 textures at 4 bytes per pixel, the system will force scale down textures to fit, even beyond the allowed MAX_DISCARD_LEVEL, such as 1024x1024 having Discard = 6 and 2048x2048 texture having Discard = 7 and writing it to the headers.

Updated the readFromFastCache to expand invalid textures to be at the MAX_DISCARD_LEVEL(5) discard instead of at 6, 7 or 8. Scale up the 16x16 textures to match the requirements for the textures at MAX_DISCARD_LEVEL.

Mostly for re-loading after high bias scenario as these can cause crashes in the KDU decoder codebase. Which can possibly lead to deadlocked threads as well as bad textures clogging up the fetch system.

Example Firestorm.log output of the error in action.

2025-02-21T13:47:43Z INFO   LLKDUMessage::put_text : KDU Error: Attempting to access a non-existent resolution level within some tile-component.  Problem almost certainly caused by trying to discard more resolution levels than the number of DWT levels used to compress a tile-component.
Exception thrown at 0x00007FFA77A1BB0A in firestorm-bin.exe: Microsoft C++ exception: boost::wrapexcept<`anonymous namespace'::KDUError> at memory location 0x000000C3985FF470.
2025-02-21T13:47:43Z WARNING   LLTextureFetchWorker::callbackDecoded : DECODE FAILED: 0c699ab7-dd72-bfc9-d695-267e1a3f936a Discard: 6, reason: LLKDUMessageError::flush()
2025-02-21T13:47:43Z WARNING   _ll_apr_warn_status : APR: firestorm\phoenix-firestorm-foreverfps\indra\llcommon\llapr.cpp:651 The system cannot find the file specified.
2025-02-21T13:47:43Z WARNING   LLAPRFile::remove :  Attempting to remove filename: AppData\Local\FirestormOS_x64\texturecache\0\0c699ab7-dd72-bfc9-d695-267e1a3f936a.texture
2025-02-21T13:47:43Z INFO   LLKDUMessage::put_text : KDU Error: Kakadu Core Error:
2025-02-21 12:01:54 -04:00
minerjr 8a527d676e Add restore to mBoostLevel (mPrevBoostLevel) for BOOST_SELECTED interactions
Added to the llgltexture a second boost level which will be used to properly restore the boost level after an object is right clicked on as the BOOST_SELECTED code does not restore the value the previous value. This does now and on all the child objects assigned to the object.

Also fixed up the lltextureview.cpp as it had some merge issues from a long time ago and was missed.
2025-02-21 09:45:34 -04:00
minerjr d76e6507f8 Revert "FIRE-35081 - Blurry prims not changing with graphics settings, not happening with SL Viewer"
This reverts commit 1e31a5caf5.
2025-02-21 07:46:34 -04:00
minerjr 8ff76e0a32 Revert "[FIRE-35081] - Added missing JIRA Tags to previous push."
This reverts commit b749e2383d.
2025-02-21 07:42:04 -04:00
minerjr b749e2383d [FIRE-35081] - Added missing JIRA Tags to previous push.
Added missing JIRA tags to the previous push for the [FIRE-35081].
2025-02-21 04:54:37 -04:00
minerjr 1e31a5caf5 FIRE-35081 - Blurry prims not changing with graphics settings, not happening with SL Viewer
Fixed the blurry texture issue with a couple of fixes.
Objects selected by by the user would gain a BOOST_SELECTED boost level, but when unselected the system did not store the old value and  would get turned to BOOST_NONE which allows the Bias system to further downscale the image lower then the original size.
Upon first loading a texture, if the desired size was lower then what was decoded, it would auto scale down the new texture, without first validating if the texture was allowed to be scaled down due to type of texture.
Further, the rules applied to the LLViewerTextureList::updateImageDecodePriority would apply to all textures on screen no matter what type as long as the boost was lower then BOOST_HIGH.

Changes include new mPrevBoostLevel for any texture with accessor methods to restore the values and updated the code which first set's the boost level to BOOST_SELECTED to store the boost level of all affected objects before changing the boost level.

Added LL's "Fix" for the bias by forcing to to stay static if VRAM or System RAM is at 10% of max.

Added logic to the updateImageDecodePriority to not apply bias to non LOD textures as well as any texture which has a current discard of 0 or 1, so not to blur high res images close to the screen.

Added logic to updateImagesCreateTextures to only scale down LOD textures which have a boost level < BOOST_HIGH

Added sPrevDesiredDiscardBiasto keep track other previous bias value before it was updated to allow for better control of the system handling bias effects such if the bias value is not chanigng, use the normal number of texture updates.

Fixed up the Developer -> Consoles -> Texture Console to have correct values for the
llformat("Tex: %d Fetch: %d(%d) Pkts:%d(%d) CAC R/W: %d/%d LFS:%d RAW:%d HTP:%d DEC:%d CRE:%d FCA:%d ",
line.
2025-02-20 23:49:58 -04:00
Beq 4e6c481372 FIRE-34796 only popup the legacy download if we are not overriding. 2025-02-21 00:32:53 +00:00
Beq 8f6dcbd33a FIRE-35127 - Super minor typo fix. 2025-02-20 21:54:31 +00:00
Beq d9adaba690 FIRE-34978 - Fix duplicate combobox item in prefs/phototools 2025-02-20 21:44:05 +00:00
Beq 658a06532a Resize and adjust thumbnail calcs to remove some hardcoding. 2025-02-20 17:17:55 +00:00
Ansariel 0ea50f2cab Update German translation 2025-02-20 02:08:18 +01:00
Beq b8ee9be3fc FIRE-32023 Show DoF focal point
Draw a small crosshair at the focal point. Red when focus is locked.
2025-02-20 00:07:38 +00:00
Beq cfa3e4b07c Add the naked URL to the "external website" nag 2025-02-19 21:43:24 +00:00
Jonathan "Geenz" Goodman 941c002877 Merge branch 'develop' into release/2024.12-ForeverFPS 2025-02-19 15:34:58 -05:00
Jonathan "Geenz" Goodman 20dfc94c5d
Merge pull request #3587 from secondlife/geenz/cla-whitelist-update
CLA wants a comma separated string.
2025-02-19 15:16:13 -05:00
Jonathan "Geenz" Goodman 0493b562db
Merge branch 'develop' into geenz/cla-whitelist-update 2025-02-19 15:15:30 -05:00
Jonathan "Geenz" Goodman 1fe6031a12 CLA wants a comma separated string. 2025-02-19 15:14:50 -05:00
Jonathan "Geenz" Goodman 789edfcab7
Merge pull request #3586 from secondlife/geenz/cla-whitelist-update
Update allow list for CLA.
2025-02-19 15:04:03 -05:00
Jonathan "Geenz" Goodman a1121eb8c0 Update allow list for CLA. 2025-02-19 15:00:26 -05:00
Andrey Kleshchev 41368a94b7 #3581 #3563 Fix callback deletion not working 2025-02-19 20:56:58 +02:00
Ansariel fe41087069 Merge branch 'release/2024.12-ForeverFPS' of https://github.com/secondlife/viewer 2025-02-19 15:20:09 +01:00
Ansariel 66b016d629 Update German translation (and mostly ignore the phototools tooltip changes because I got other things to do than translate tooltips for 8+ hours!)
Also cleanup the XUI files and remove commented out stuff and incorrect copy-pasta tooltips
2025-02-19 15:10:05 +01:00
Beq Janus 8c97befa95
Merge pull request #64 from AyaneStorm/pr-feat-profile-preview-buttons
Added preview buttons in profile panel
2025-02-18 18:48:23 +00:00
Beq Janus e70e41e289
Merge pull request #80 from williamweaver/phototools
Implement substantial UI overhaul and feature expansion for Phototool…
2025-02-18 18:41:32 +00:00
williamweaver 6465d08b41
Merge branch 'FirestormViewer:master' into phototools 2025-02-18 19:37:14 +03:00
Maxim Nikolenko 8114850e94
#3511 fix for PBR skies being too bright on Low Graphics 2025-02-18 11:33:32 +02:00