From 2a7600fbd2a29cb6ac34767ed82eeef1fa4a1fbe Mon Sep 17 00:00:00 2001 From: andreykproductengine Date: Thu, 9 Aug 2018 20:00:39 +0300 Subject: MAINT-8887 Fixed Environment pulled from asset store not applied when loaded --- indra/newview/llenvironment.cpp | 1 + 1 file changed, 1 insertion(+) (limited to 'indra/newview') diff --git a/indra/newview/llenvironment.cpp b/indra/newview/llenvironment.cpp index b2bd20d809..de3cb4982d 100644 --- a/indra/newview/llenvironment.cpp +++ b/indra/newview/llenvironment.cpp @@ -595,6 +595,7 @@ void LLEnvironment::onSetEnvAssetLoaded(EnvSelection_t env, LLUUID asset_id, LLS } setEnvironment(env, settings); + updateEnvironment(); } void LLEnvironment::clearEnvironment(LLEnvironment::EnvSelection_t env) -- cgit v1.2.3 From 8e9d27fdcdea805d5f9af02f853f5dfdfa7c7512 Mon Sep 17 00:00:00 2001 From: Graham Linden Date: Tue, 14 Aug 2018 21:10:54 +0100 Subject: MAINT-8884 Re-arrange water norm/reflection tex binding to be less incorrect. --- indra/newview/lldrawpoolwater.cpp | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/lldrawpoolwater.cpp b/indra/newview/lldrawpoolwater.cpp index e3dcc44c4d..1e7d881bfe 100644 --- a/indra/newview/lldrawpoolwater.cpp +++ b/indra/newview/lldrawpoolwater.cpp @@ -50,6 +50,8 @@ #include "llsettingssky.h" #include "llsettingswater.h" +#pragma optimize("", off) + static float sTime; BOOL deferred_render = FALSE; @@ -589,19 +591,32 @@ void LLDrawPoolWater::shade() //bind normal map S32 bumpTex = shader->enableTexture(LLViewerShaderMgr::BUMP_MAP); - if (mWaterNormp[0] && mWaterNormp[1]) + if (mWaterNormp[0]) { gGL.getTexUnit(bumpTex)->bind(mWaterNormp[0]) ; - gGL.getTexUnit(bumpTex + 1)->bind(mWaterNormp[1]) ; if (gSavedSettings.getBOOL("RenderWaterMipNormal")) { mWaterNormp[0]->setFilteringOption(LLTexUnit::TFO_ANISOTROPIC); - mWaterNormp[1]->setFilteringOption(LLTexUnit::TFO_ANISOTROPIC); } else { mWaterNormp[0]->setFilteringOption(LLTexUnit::TFO_POINT); + } + } + + if (mWaterNormp[1]) + { + bumpTex = shader->enableTexture(LLViewerShaderMgr::BUMP_MAP2); + + gGL.getTexUnit(bumpTex)->bind(mWaterNormp[1]) ; + + if (gSavedSettings.getBOOL("RenderWaterMipNormal")) + { + mWaterNormp[1]->setFilteringOption(LLTexUnit::TFO_ANISOTROPIC); + } + else + { mWaterNormp[1]->setFilteringOption(LLTexUnit::TFO_POINT); } } -- cgit v1.2.3 From 26514a0c807d9c07267c1cd445c2dd0305cb958c Mon Sep 17 00:00:00 2001 From: Graham Linden Date: Tue, 14 Aug 2018 21:13:11 +0100 Subject: Remove MSVC optimize pragma. --- indra/newview/lldrawpoolwater.cpp | 2 -- 1 file changed, 2 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/lldrawpoolwater.cpp b/indra/newview/lldrawpoolwater.cpp index 1e7d881bfe..ad4df751fd 100644 --- a/indra/newview/lldrawpoolwater.cpp +++ b/indra/newview/lldrawpoolwater.cpp @@ -50,8 +50,6 @@ #include "llsettingssky.h" #include "llsettingswater.h" -#pragma optimize("", off) - static float sTime; BOOL deferred_render = FALSE; -- cgit v1.2.3 From 584fec695bc8d6bafc38ff6ed3b435f133fdca2b Mon Sep 17 00:00:00 2001 From: andreykproductengine Date: Wed, 15 Aug 2018 18:31:07 +0300 Subject: MAINT-8952 EEP 'uncompress' day tracks before editing --- indra/newview/llfloatereditextdaycycle.cpp | 4 ++-- indra/newview/llsettingsvo.cpp | 24 ++++++++++++++++++++++++ indra/newview/llsettingsvo.h | 1 + 3 files changed, 27 insertions(+), 2 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llfloatereditextdaycycle.cpp b/indra/newview/llfloatereditextdaycycle.cpp index 85bcf086e5..84a2e0687f 100644 --- a/indra/newview/llfloatereditextdaycycle.cpp +++ b/indra/newview/llfloatereditextdaycycle.cpp @@ -908,7 +908,7 @@ void LLFloaterEditExtDayCycle::onAssetLoaded(LLUUID asset_id, LLSettingsBase::pt closeFloater(); return; } - mEditDay = std::dynamic_pointer_cast(settings); + mEditDay = std::dynamic_pointer_cast(settings)->buildDeepCloneAndUncompress(); updateEditEnvironment(); LLEnvironment::instance().setSelectedEnvironment(LLEnvironment::ENV_EDIT, LLEnvironment::TRANSITION_INSTANT); LLEnvironment::instance().updateEnvironment(LLEnvironment::TRANSITION_INSTANT); @@ -925,7 +925,7 @@ void LLFloaterEditExtDayCycle::loadLiveEnvironment(LLEnvironment::EnvSelection_t if (day) { - mEditDay = day->buildClone(); + mEditDay = day->buildDeepCloneAndUncompress(); break; } } diff --git a/indra/newview/llsettingsvo.cpp b/indra/newview/llsettingsvo.cpp index 80797ae21c..2cdc3e79c3 100644 --- a/indra/newview/llsettingsvo.cpp +++ b/indra/newview/llsettingsvo.cpp @@ -1092,6 +1092,30 @@ LLSettingsDay::ptr_t LLSettingsVODay::buildClone() return dayp; } +LLSettingsDay::ptr_t LLSettingsVODay::buildDeepCloneAndUncompress() +{ + // no need for SETTING_TRACKS or SETTING_FRAMES, so take base LLSD + LLSD settings = llsd_clone(mSettings); + + LLSettingsDay::ptr_t day_clone = std::make_shared(settings); + + for (S32 i = 0; i < LLSettingsDay::TRACK_MAX; ++i) + { + LLSettingsDay::CycleTrack_t track = getCycleTrack(i); + LLSettingsDay::CycleTrack_t::iterator iter = track.begin(); + while (iter != track.end()) + { + // 'Unpack', usually for editing + // - frames 'share' settings multiple times + // - settings can reuse LLSDs they were initialized from + // We do not want for edited frame to change multiple frames in same track, so do a clone + day_clone->setSettingsAtKeyframe(iter->second->buildDerivedClone(), iter->first, i); + iter++; + } + } + return day_clone; +} + LLSD LLSettingsVODay::convertToLegacy(const LLSettingsVODay::ptr_t &pday) { CycleTrack_t &trackwater = pday->getCycleTrack(TRACK_WATER); diff --git a/indra/newview/llsettingsvo.h b/indra/newview/llsettingsvo.h index 15b51d0988..fedb758b48 100644 --- a/indra/newview/llsettingsvo.h +++ b/indra/newview/llsettingsvo.h @@ -156,6 +156,7 @@ public: static ptr_t buildDefaultDayCycle(); static ptr_t buildFromEnvironmentMessage(LLSD settings); virtual ptr_t buildClone() override; + virtual ptr_t buildDeepCloneAndUncompress(); static LLSD convertToLegacy(const ptr_t &); -- cgit v1.2.3 From c858343af51a1223516026b90bdc4adc2d7f7860 Mon Sep 17 00:00:00 2001 From: andreykproductengine Date: Wed, 15 Aug 2018 21:32:32 +0300 Subject: MAINT-8996 EEP - fixed Settings picker is empty sometimes --- indra/newview/llsettingspicker.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'indra/newview') diff --git a/indra/newview/llsettingspicker.cpp b/indra/newview/llsettingspicker.cpp index b386243777..e1a3269c5d 100644 --- a/indra/newview/llsettingspicker.cpp +++ b/indra/newview/llsettingspicker.cpp @@ -63,7 +63,8 @@ LLFloaterSettingsPicker::LLFloaterSettingsPicker(LLView * owner, LLUUID initial_ mLabel(label), mActive(true), mContextConeOpacity(0.0f), - mSettingAssetID(initial_asset_id) + mSettingAssetID(initial_asset_id), + mImmediateFilterPermMask(PERM_NONE) { buildFromFile(FLOATER_DEFINITION_XML); setCanMinimize(FALSE); -- cgit v1.2.3