diff --git a/indra/llrender/llimagegl.cpp b/indra/llrender/llimagegl.cpp index 49f92f43b1..f40adc0a77 100644 --- a/indra/llrender/llimagegl.cpp +++ b/indra/llrender/llimagegl.cpp @@ -1330,9 +1330,12 @@ void LLImageGL::setManualImage(U32 target, S32 miplevel, S32 intformat, S32 widt catch (std::bad_alloc) { LLError::LLUserWarningMsg::showOutOfMemory(); - LL_ERRS() << "Failed to allocate " << (U32)(width * height * sizeof(U32)) + // FIRE-34374 - OOM Crash 80% of which are in render debug text + //LL_ERRS() << "Failed to allocate " << (U32)(width * height * sizeof(U32)) + LL_WARNS() << "Failed to allocate " << (U32)(width * height * sizeof(U32)) << " bytes for a manual image W" << width << " H" << height << " Pixformat: GL_ALPHA, pixtype: GL_UNSIGNED_BYTE" << LL_ENDL; + return; } U32 pixel_count = (U32)(width * height); @@ -1361,9 +1364,12 @@ void LLImageGL::setManualImage(U32 target, S32 miplevel, S32 intformat, S32 widt catch (std::bad_alloc) { LLError::LLUserWarningMsg::showOutOfMemory(); + // FIRE-34374 - OOM Crash 80% of which are in render debug text LL_ERRS() << "Failed to allocate " << (U32)(width * height * sizeof(U32)) + LL_WARNS() << "Failed to allocate " << (U32)(width * height * sizeof(U32)) << " bytes for a manual image W" << width << " H" << height << " Pixformat: GL_LUMINANCE_ALPHA, pixtype: GL_UNSIGNED_BYTE" << LL_ENDL; + return; } U32 pixel_count = (U32)(width * height); @@ -1395,9 +1401,12 @@ void LLImageGL::setManualImage(U32 target, S32 miplevel, S32 intformat, S32 widt catch (std::bad_alloc) { LLError::LLUserWarningMsg::showOutOfMemory(); + // FIRE-34374 - OOM Crash 80% of which are in render debug text LL_ERRS() << "Failed to allocate " << (U32)(width * height * sizeof(U32)) + LL_WARNS() << "Failed to allocate " << (U32)(width * height * sizeof(U32)) << " bytes for a manual image W" << width << " H" << height << " Pixformat: GL_LUMINANCE, pixtype: GL_UNSIGNED_BYTE" << LL_ENDL; + return; } U32 pixel_count = (U32)(width * height); diff --git a/indra/newview/installers/windows/installer_template.nsi b/indra/newview/installers/windows/installer_template.nsi index 1018b3d6db..29ae1e54f0 100644 --- a/indra/newview/installers/windows/installer_template.nsi +++ b/indra/newview/installers/windows/installer_template.nsi @@ -41,6 +41,7 @@ Unicode true # Enable unicode support # This placeholder is replaced by viewer_manifest.py %%VERSION%% +!include "WordFunc.nsh" ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; - language files - one for each language (or flavor thereof) ;; (these files are in the same place as the nsi template but the python script generates a new nsi file in the @@ -232,30 +233,44 @@ Call openLinkNewWindow ; Add the AVX2 check functions Function CheckCPUFlagsAVX2 Push $1 + Push $2 + Push $3 System::Call 'kernel32::IsProcessorFeaturePresent(i 40) i .r1' ; 40 is PF_AVX2_INSTRUCTIONS_AVAILABLE IntCmp $1 1 OK_AVX2 ; AVX2 not supported - MessageBox MB_OK $(MissingAVX2) - ${OpenURL} 'https://www.firestormviewer.org/early-access-beta-downloads-legacy-cpus' + ; Prepare the URL by concatenating '-legacy-cpus' to $DL_URL + StrCpy $2 "${DL_URL}" + StrCpy $2 "-legacy-cpus" /APPEND + ; Replace %DLURL% in the language string with the URL + ${WordReplace} "$(MissingAVX2)" "%DLURL%" "$2" "+*" $3 + MessageBox MB_OK "$3" + ${OpenURL} '$2' Quit OK_AVX2: + Pop $3 + Pop $2 Pop $1 Return FunctionEnd Function CheckCPUFlagsAVX2_Prompt Push $1 + Push $3 System::Call 'kernel32::IsProcessorFeaturePresent(i 40) i .r1' ; 40 is PF_AVX2_INSTRUCTIONS_AVAILABLE IntCmp $1 1 OK_AVX2 Pop $1 Return OK_AVX2: - MessageBox MB_YESNO $(AVX2Available) IDYES DownloadAVX2 IDNO ContinueInstall + ; Replace %DLURL% in the language string with the URL + ${WordReplace} "$(AVX2Available)" "%DLURL%" "${DL_URL}" "+*" $3 + + MessageBox MB_YESNO $3 IDYES DownloadAVX2 IDNO ContinueInstall DownloadAVX2: - ${OpenURL} 'https://www.firestormviewer.org/early-access-beta-downloads/' + ${OpenURL} '$3' Quit ContinueInstall: + Pop $3 Pop $1 Return FunctionEnd @@ -322,7 +337,7 @@ Call CheckWindowsVersion # Don't install On unsupported systems # IfErrors +2 0 # If error jump past setting SKIP_DIALOGS # StrCpy $SKIP_DIALOGS "true" IfErrors +3 0 # If error jump past setting SKIP_DIALOGS - StrCpy $SKIP_DIALOGS "true" + StrCpy $SKIP_DIALOGS "true" SetAutoClose true # diff --git a/indra/newview/installers/windows/lang_de.nsi b/indra/newview/installers/windows/lang_de.nsi index a11e4d505a..d0b4111d93 100755 --- a/indra/newview/installers/windows/lang_de.nsi +++ b/indra/newview/installers/windows/lang_de.nsi @@ -57,8 +57,8 @@ LangString CheckAdministratorUnInstMB ${LANG_GERMAN} 'Sie besitzen ungenügende ; checkcpuflags LangString MissingSSE2 ${LANG_GERMAN} "Dieser PC besitzt möglicherweise keinen Prozessor mit SSE2-Unterstützung, die für die Ausführung von Firestorm ${VERSION_LONG} benötigt wird. Trotzdem installieren?" -LangString MissingAVX2 ${LANG_GERMAN} "Ihre CPU unterstützt keine AVX2-Anweisungen. Bitte laden Sie die Version für ältere CPUs von https://www.firestormviewer.org/early-access-beta-downloads-legacy-cpus/ herunter." -LangString AVX2Available ${LANG_GERMAN} "Ihre CPU unterstützt AVX2-Anweisungen. Sie können die für AVX2 optimierte Version für eine bessere Leistung unter https://www.firestormviewer.org/early-access-beta-downloads/ herunterladen. Möchten Sie sie jetzt herunterladen?" +LangString MissingAVX2 ${LANG_GERMAN} "Ihre CPU unterstützt keine AVX2-Anweisungen. Bitte laden Sie die Version für ältere CPUs von %DLURL%-legacy-cpus/ herunter." +LangString AVX2Available ${LANG_GERMAN} "Ihre CPU unterstützt AVX2-Anweisungen. Sie können die für AVX2 optimierte Version für eine bessere Leistung unter %DLURL%/ herunterladen. Möchten Sie sie jetzt herunterladen?" ; closesecondlife function (install) LangString CloseSecondLifeInstDP ${LANG_GERMAN} "Warten auf die Beendigung von Firestorm ..." diff --git a/indra/newview/installers/windows/lang_en-us.nsi b/indra/newview/installers/windows/lang_en-us.nsi index 69cde24d32..dcdca3fc24 100644 Binary files a/indra/newview/installers/windows/lang_en-us.nsi and b/indra/newview/installers/windows/lang_en-us.nsi differ diff --git a/indra/newview/installers/windows/lang_es.nsi b/indra/newview/installers/windows/lang_es.nsi index cf36e45285..88df05af6d 100755 Binary files a/indra/newview/installers/windows/lang_es.nsi and b/indra/newview/installers/windows/lang_es.nsi differ diff --git a/indra/newview/installers/windows/lang_fr.nsi b/indra/newview/installers/windows/lang_fr.nsi index 5312e31426..c3f7a643a6 100755 Binary files a/indra/newview/installers/windows/lang_fr.nsi and b/indra/newview/installers/windows/lang_fr.nsi differ diff --git a/indra/newview/installers/windows/lang_it.nsi b/indra/newview/installers/windows/lang_it.nsi index d7447ed46b..f7a6b6120b 100755 Binary files a/indra/newview/installers/windows/lang_it.nsi and b/indra/newview/installers/windows/lang_it.nsi differ diff --git a/indra/newview/installers/windows/lang_ja.nsi b/indra/newview/installers/windows/lang_ja.nsi index b0d8958984..9890e21546 100755 Binary files a/indra/newview/installers/windows/lang_ja.nsi and b/indra/newview/installers/windows/lang_ja.nsi differ diff --git a/indra/newview/installers/windows/lang_pl.nsi b/indra/newview/installers/windows/lang_pl.nsi index 3356eed567..424f30267b 100644 Binary files a/indra/newview/installers/windows/lang_pl.nsi and b/indra/newview/installers/windows/lang_pl.nsi differ diff --git a/indra/newview/installers/windows/lang_ru.nsi b/indra/newview/installers/windows/lang_ru.nsi index c7bb70ad02..aa65abb6e0 100755 Binary files a/indra/newview/installers/windows/lang_ru.nsi and b/indra/newview/installers/windows/lang_ru.nsi differ diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index 7a39320fbe..7c24078e28 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -1789,7 +1789,7 @@ bool LLAppViewer::doFrame() display(); - if (LLStartUp::getStartupState() > STATE_AGENT_WAIT) // FIRE-34590 - Bugsplat caused by updating maps before world is loaded. + if (LLStartUp::getStartupState() == STATE_STARTED) // FIRE-34590 - Bugsplat caused by updating maps before world is loaded. { LLPerfStats::RecordSceneTime T(LLPerfStats::StatType_t::RENDER_IDLE); LL_PROFILE_ZONE_NAMED_CATEGORY_APP("df Snapshot"); diff --git a/indra/newview/lldrawpoolwater.cpp b/indra/newview/lldrawpoolwater.cpp index 37de069fb6..0507568d0d 100644 --- a/indra/newview/lldrawpoolwater.cpp +++ b/indra/newview/lldrawpoolwater.cpp @@ -156,6 +156,7 @@ void LLDrawPoolWater::renderPostDeferred(S32 pass) if (!pwater || !psky) { LL_WARNS() << "LLDrawPoolWater::renderPostDeferred: water or sky settings not available" << LL_ENDL; + return; } // LLVector3 light_dir = environment.getLightDirection(); diff --git a/indra/newview/skins/default/xui/en/panel_preferences_graphics1.xml b/indra/newview/skins/default/xui/en/panel_preferences_graphics1.xml index 0c72b2e3ac..d4ad531b8a 100644 --- a/indra/newview/skins/default/xui/en/panel_preferences_graphics1.xml +++ b/indra/newview/skins/default/xui/en/panel_preferences_graphics1.xml @@ -1103,7 +1103,7 @@ height="20" increment="1" initial_value="2" - label="GPU Dedicated VRAM (GB):" + label="Override GPU Dedicated VRAM (GB):" label_width="275" layout="topleft" left="10" diff --git a/indra/newview/skins/default/xui/fr/panel_preferences_graphics1.xml b/indra/newview/skins/default/xui/fr/panel_preferences_graphics1.xml index 99ffe4e2e7..76a86aa15d 100644 --- a/indra/newview/skins/default/xui/fr/panel_preferences_graphics1.xml +++ b/indra/newview/skins/default/xui/fr/panel_preferences_graphics1.xml @@ -71,10 +71,19 @@ m + + Affichage des avatars + + + + + + Basse + Facteurs de détails liés à la distance : @@ -108,7 +117,7 @@ Paramètres avancés (redémarrage requis) : - diff --git a/indra/newview/skins/default/xui/it/floater_phototools_camera.xml b/indra/newview/skins/default/xui/it/floater_phototools_camera.xml index 449ae8ef56..f286835018 100644 --- a/indra/newview/skins/default/xui/it/floater_phototools_camera.xml +++ b/indra/newview/skins/default/xui/it/floater_phototools_camera.xml @@ -55,6 +55,8 @@ +