Age | Commit message (Collapse) | Author |
|
in List view; update persistence of new settings
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Conflicts:
# indra/newview/skins/default/xui/en/floater_preferences_graphics_advanced.xml
|
|
|
|
|
|
|
|
LLFolderViewItem::drawFavoriteIcon (#2867)
# Conflicts:
# indra/llui/llfolderviewitem.cpp
|
|
* Re-apply changes from a620e58daccf92b5b8d61347312739720ed2b51a
* Fix duplicate code resulting from 826236f1bc065fba257d7954d11ac98c59493445
# Conflicts:
# indra/llwindow/llwindowwin32.cpp
|
|
# Conflicts:
# indra/newview/llagent.cpp
|
|
* Restore changes from 21947778baaca205615a71a97ac8f563c998fdd3 to llwindow/llwindowwin32.cpp
* Restore changes from 3758618949684641fc94b5c9478d9002706213cc to newview/llinspecttexture.cpp
* Fix apparent merge error in LLInventoryPanel::itemChanged
* Restore changes from 1eeecfa1a8bf43a8980217ce34e3b5f4458483e0 in newview/llpaneloutfitsinventory.h
* Restore changes from b9633c17e373bfe55b29228996e8473eb041466d in newview/llpaneloutfitsinventory.h & newview/llpanelwearing.cpp
* Restore changes from f660f1f0fda4d2363d351fa550b4f8818b46c2c3 in newview/llviewertexture.cpp
* Restore changes from b9633c17e373bfe55b29228996e8473eb041466d & 98f7d73d46fdc045759023eda6409e8c791f5cb2 in newview/lloutfitgallery.cpp and newview/lloutfitslist.cpp
* Replace changes from 23729442aab7130f3368d433e8a5a9dd45ff6b98 with current implementation in develop branch
* Fix more broken changes in LLViewerTexture::saveRawImage
* Restore the changes in LLMath both from develop and maint-c
* Fix all kind of other merge errors
# Conflicts:
# indra/llmath/v2math.h
# indra/llmath/v3math.h
# indra/llui/llfolderviewitem.cpp
# indra/llwindow/llwindowwin32.cpp
# indra/newview/llfloaterobjectweights.h
# indra/newview/lloutfitgallery.cpp
# indra/newview/lloutfitslist.cpp
# indra/newview/llsidepaneliteminfo.cpp
# indra/newview/llvoavatar.cpp
|
|
|
|
|
|
|
|
|
|
|
|
# Conflicts:
# indra/llmath/v2math.cpp
# indra/llmath/v2math.h
# indra/llmath/v3math.h
# indra/llmath/v4math.h
# indra/llui/llfolderviewitem.cpp
# indra/llui/llfolderviewitem.h
# indra/llui/llfolderviewmodel.h
# indra/llui/llmodaldialog.cpp
# indra/llui/lltexteditor.cpp
# indra/llui/lltexteditor.h
# indra/llwindow/llwindowwin32.cpp
# indra/newview/llagent.cpp
# indra/newview/llagentcamera.h
# indra/newview/llavatarrenderinfoaccountant.cpp
# indra/newview/llconversationmodel.h
# indra/newview/llfloaterinventorysettings.cpp
# indra/newview/llfloaternamedesc.cpp
# indra/newview/llfloaternamedesc.h
# indra/newview/llfloaterobjectweights.cpp
# indra/newview/llfloaterobjectweights.h
# indra/newview/llfolderviewmodelinventory.h
# indra/newview/llinspecttexture.cpp
# indra/newview/llinventorybridge.cpp
# indra/newview/llinventorybridge.h
# indra/newview/llinventoryfunctions.cpp
# indra/newview/llinventorygallery.h
# indra/newview/llinventorygallerymenu.cpp
# indra/newview/llinventorymodel.cpp
# indra/newview/llinventorypanel.cpp
# indra/newview/llinventorypanel.h
# indra/newview/llmaterialeditor.cpp
# indra/newview/lloutfitgallery.cpp
# indra/newview/lloutfitgallery.h
# indra/newview/lloutfitslist.cpp
# indra/newview/lloutfitslist.h
# indra/newview/llpanelgroupcreate.cpp
# indra/newview/llpanelgroupgeneral.cpp
# indra/newview/llpanelobjectinventory.cpp
# indra/newview/llpaneloutfitsinventory.h
# indra/newview/llpanelprofile.cpp
# indra/newview/llpanelwearing.cpp
# indra/newview/llreflectionmap.cpp
# indra/newview/llselectmgr.cpp
# indra/newview/llsidepanelappearance.cpp
# indra/newview/llsidepaneliteminfo.cpp
# indra/newview/llteleporthistorystorage.cpp
# indra/newview/lltexturectrl.cpp
# indra/newview/lltexturectrl.h
# indra/newview/lltexturefetch.cpp
# indra/newview/lltexturefetch.h
# indra/newview/llviewerassetupload.cpp
# indra/newview/llviewercamera.cpp
# indra/newview/llviewercamera.h
# indra/newview/llviewermenufile.cpp
# indra/newview/llviewerobject.h
# indra/newview/llviewertexture.cpp
# indra/newview/llviewerwindow.cpp
# indra/newview/llvoavatar.cpp
# indra/newview/llvoavatar.h
# indra/newview/llvoavatarself.cpp
# indra/newview/llvovolume.cpp
# indra/newview/llvovolume.h
# indra/newview/tests/llviewerassetstats_test.cpp
|
|
# Conflicts:
# indra/newview/llappviewer.cpp
|
|
Fix: Apply Cloud Texture Changes from Environment Settings Floater
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assertInitializedDoError() on shutdown
|
|
A long standing one
|
|
according to bugsplat mWrapperPanel is null.
|
|
|
|
|
|
registration
This commit removes a seemingly duplicated `connectRefreshCachedSettingsSafe` call in `LLPipeline::init()` for the `RenderAutoHideSurfaceAreaLimit` setting.
A duplicated registration for this setting was identified during a review of `LLPipeline::init()`. Double registration can lead to unexpected behavior, including potential CPU overhead.
The duplication *may* have been introduced with commit 440c7b2 (Added CollectFontVertexBuffers feature), though this requires further confirmation.
Testing Performed:
After removing the duplicate registration, the `RenderAutoHideSurfaceAreaLimit` functionality was validated by ensuring the following behavior (consistent with the existing code):
* A value of 0 (zero) causes all objects to appear regardless of size.
* Values slightly above zero result in only small objects appearing, with all others hidden.
* Increasing the value causes objects of increasing size to appear, while smaller objects remain visible.
This change merits careful review to ensure it has no unintended side effects, and to confirm the accuracy of these observations from other developers.
|
|
Fix: Resolve Minor XUI Parsing Warnings in Environment Widgets
|
|
Problem:
When selecting a new cloud texture in the Personal Lighting floater (LLFloaterEnvironmentAdjust), the sky did not visually update. The code previously only updated LiveSky->setCloudNoiseTextureId() and called mLiveSky->update(), which failed to notify the global LLEnvironment mechanism or the renderer about the new texture.
Cause:
Relying solely on mLiveSky for environment changes is insufficient. To update the live environment layer (ENV_LOCAL) and trigger a render refresh, calls to LLEnvironment::setEnvironment() and LLEnvironment::updateEnvironment() are required.
Solution:
1. Remove an unnecessary null-check for getChild<LLTextureCtrl>, as getChild() never returns null.
2. Clone the current sky settings (mLiveSky->buildClone()) to avoid modifying a shared environment object directly.
3. Apply the new cloud texture ID to the clone.
4. Use LLEnvironment::setEnvironment(ENV_LOCAL, sky_to_set) to apply the updated settings to the user's local environment override.
5. Call LLEnvironment::updateEnvironment(LLEnvironment::TRANSITION_INSTANT, true) to ensure the renderer recognizes and displays the updated texture immediately.
6. Reset the picker control’s value to match the newly applied texture for UI consistency.
Additional Note:
A partial implementation was inadvertently committed earlier (commit`04af042`) due to a local staging error. This commit supersedes that incomplete change by correctly implementing the intended fix.
Result:
Selecting a new cloud texture from LLFloaterEnvironmentAdjust now immediately updates both the in-world sky rendering and the texture preview UI, ensuring consistency and clarity for users.
Testing:
- Open the Personal Lighting floater and select various cloud textures.
- Verify that the sky updates immediately for each new selection.
- Confirm that the texture picker also updates to reflect the selected texture.
|
|
|
|
|
|
https://github.com/williamweaver/viewer into fix/xui-parsing-fixes
|
|
Problem:
Opening the Fixed Environment floater generated three distinct XUI parsing warnings in the logs:
- Failed to parse parameter "decimal_digits." in xy_vector.xml
- Failed to parse parameter "user_resize." in xy_vector.xml
- Failed to parse parameter "logarithmic." in panel_settings_sky_clouds.xml
Cause:
These attributes were either not recognized/utilized by the underlying C++ widget implementations ('decimal_digits', 'user_resize' in LLXYVector) or were using an incorrect value ('logarithmic="1"' instead of a boolean 'true'/'false' in LLSliderCtrl).
Solution:
This commit addresses these three warnings:
- Removed the extraneous 'decimal_digits' and 'user_resize' attributes from the definition of the 'xyvector' widget in xy_vector.xml.
- Corrected the 'logarithmic' attribute value from "1" to "true" for the 'cloud_scroll_xy' slider in panel_settings_sky_clouds.xml.
Result:
Eliminates these specific parsing warnings from the logs when the Fixed Environment floater is opened.
Testing:
- Launch viewer.
- Open World -> Environment Editor -> My Environments.
- Select a sky setting and click Edit (or create a New one).
- Observe the logs upon the Fixed Environment floater opening.
- Verify the absence of the 'decimal_digits', 'user_resize' (from xy_vector.xml), and 'logarithmic' (from panel_settings_sky_clouds.xml) parsing warnings.
|
|
Problem:
A warning "Failed to parse parameter 'user_resize.'" appeared in the logs during UI loading, originating from sun_moon_trackball.xml.
Cause:
The 'user_resize' attribute is not a recognized or utilized parameter for the 'sun_moon_trackball' widget type, as defined in the corresponding C++
(LLVirtualTrackball).
Solution:
Removed the extraneous 'user_resize="false"' line from the sun_moon_trackball.xml widget definition.
Result:
Eliminates the parsing warning from the logs upon viewer startup or UI reload.
Testing:
- Launch viewer.
- Check logs for the absence of the "Failed to parse parameter 'user_resize.'" warning.
|
|
Problem:
When selecting a new cloud texture in the Personal Lighting floater (LLFloaterEnvironmentAdjust) using the cloud map texture picker, the sky rendering did not update to reflect the selected texture. The callback only updated the internal mLiveSky object and its subsequent call to mLiveSky->update() was insufficient to trigger a live render update.
Cause:
The onCloudMapChanged callback modified the mLiveSky settings object directly and called its update() method. However, in the context of live environment adjustments, changes require propagation through the central LLEnvironment singleton to correctly update the active environment layer (ENV_LOCAL) and signal the renderer. Relying solely on the settings object's update() method bypassed this necessary mechanism.
Solution:
This commit refactors onCloudMapChanged to correctly handle the update:
1. Uses the LLEnvironment singleton to manage the state change:
- Explicitly targets the local environment layer (ENV_LOCAL) via setSelectedEnvironment().
- Clones the mLiveSky settings object.
- Uses LLEnvironment::setEnvironment() to apply the modified clone to the ENV_LOCAL layer.
- Uses LLEnvironment::updateEnvironment() to trigger the render update.
2. Synchronizes the UI preview:
- Calls picker_ctrl->setValue() on the LLTextureCtrl widget after the environment update to ensure the UI preview matches the applied texture.
Result:
Selecting a cloud texture in the Environment Settings floater now correctly updates both the sky rendering and the UI preview widget simultaneously.
Testing:
- Open World -> Environment Editor -> Environment Settings.
- Go to the Clouds tab.
- Click the cloud texture preview to open the texture picker.
- Select a new cloud texture and click OK.
- Verify the sky updates immediately to use the selected texture.
- Verify the texture preview in the floater also updates immediately.
- Repeat with several different textures to confirm consistent behavior.
|
|
warn user and error
|
|
|
|
|
|
Resolves the root cause of shadow rendering failures when changing RenderShadowResolutionScale immediately after modifying other graphics settings (e.g., SSAO, HDR).
Investigation revealed that LLPipeline::createGLBuffers, which is called during certain graphics setting changes that require full buffer recreation, contained lines that incorrectly set mRT->width and mRT->height to zero *after* the call to allocateScreenBuffer had already established the correct dimensions.
This created a state inconsistency. If RenderShadowResolutionScale was changed immediately following the graphics setting change, the subsequent call to LLPipeline::resizeShadowTexture (triggered via handleShadowsResized) would read these incorrect zero dimensions from mRT. This led to failed shadow buffer allocation (allocateShadowBuffer(0, 0)) and resulted in corrupted or missing shadows.
This commit removes the erroneous mRT->width = 0 and mRT->height = 0 lines from the end of createGLBuffers. This ensures that the render target dimensions remain valid after buffer recreation.
With this fix, resizeShadowTexture now correctly reads the valid screen dimensions immediately following a graphics setting change and successfully resizes the shadow buffers without delay or error. This eliminates the need for previous workarounds like guard conditions or forced shader recompiles.
Ref: #3719
|
|
|
|
|
|
|