Merge branch 'master' of https://github.com/FirestormViewer/phoenix-firestorm
# Conflicts: # indra/llrender/llimagegl.cppmaster
commit
2980f5cacb
|
|
@ -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))
|
||||
// <FS:Beq> 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();
|
||||
// <FS:Beq> 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();
|
||||
// <FS:Beq> 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);
|
||||
|
|
|
|||
|
|
@ -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
|
||||
# </FS:Ansariel>
|
||||
|
||||
|
|
|
|||
|
|
@ -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 ..."
|
||||
|
|
|
|||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -1789,7 +1789,7 @@ bool LLAppViewer::doFrame()
|
|||
|
||||
display();
|
||||
|
||||
if (LLStartUp::getStartupState() > STATE_AGENT_WAIT) // <FS:Beq/> FIRE-34590 - Bugsplat caused by updating maps before world is loaded.
|
||||
if (LLStartUp::getStartupState() == STATE_STARTED) // <FS:Beq/> 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");
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
// </FS:Beq>
|
||||
LLVector3 light_dir = environment.getLightDirection();
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
|
|
|||
|
|
@ -71,10 +71,19 @@
|
|||
<slider label="Distance d'affichage" name="DrawDistance"/>
|
||||
<text name="DrawDistanceMeterText2">m</text>
|
||||
<slider label="Nombre max. de particules" name="MaxParticleCount"/>
|
||||
<text name="AvatarComplexityModeLabel">
|
||||
Affichage des avatars
|
||||
</text>
|
||||
<combo_box name="AvatarComplexityMode">
|
||||
<combo_box.item label="Limite par la complexité" name="0"/>
|
||||
<combo_box.item label="Toujours afficher les amis" name="1"/>
|
||||
<combo_box.item label="N'afficher que les amis" name="2"/>
|
||||
</combo_box>
|
||||
<slider label="Complexité maximale" name="IndirectMaxComplexity"/>
|
||||
<slider label="Maximum d'avatars 3D" name="IndirectMaxNonImpostors"/>
|
||||
<slider label="Qualité post-traitement" name="RenderPostProcess"/>
|
||||
<text name="PostProcessText">Basse</text>
|
||||
<slider label="Max. lumières proches" name="MaxLights"/>
|
||||
<slider label="Propriétés physiques des avatars" name="AvatarPhysicsDetail"/>
|
||||
<slider label="Exposition" name="RenderExposure"/>
|
||||
<text name="MeshDetailText">Facteurs de détails liés à la distance :</text>
|
||||
|
|
@ -108,7 +117,7 @@
|
|||
Paramètres avancés (redémarrage requis) :
|
||||
</text>
|
||||
<check_box label="Ignorer la détection de la VRAM" name="FSOverrideVRAMDetection" tool_tip="Permet à l'utilisateur d'ignorer la détection de VRAM (à utiliser avec une extrême prudence)"/>
|
||||
<slider label="VRAM dédiée du GPU (Go) :" name="FSForcedVideoMemory" tool_tip="Important : à utiliser avec une extrême prudence.
|
||||
<slider label="Ignorer la VRAM dédiée du GPU (Go) :" name="FSForcedVideoMemory" tool_tip="Important : à utiliser avec une extrême prudence.
|
||||
Ignorer la VRAM détectée sur votre GPU.
|
||||
Cela ne doit pas inclure la VRAM 'partagée' qui fait partie de la RAM du système.
|
||||
Si vous ne comprenez pas la distinction, ne vous souciez pas de ce contrôle."/>
|
||||
|
|
|
|||
|
|
@ -55,6 +55,8 @@
|
|||
</panel>
|
||||
<panel name="zoom">
|
||||
<joystick_rotate name="cam_rotate_stick" tool_tip="Orbita la camera intorno al centro"/>
|
||||
<button name="roll_left" tool_tip="Inclina la camera a sinistra" />
|
||||
<button name="roll_right" tool_tip="Inclina la camera a destra" />
|
||||
<slider_bar name="zoom_slider" tool_tip="Muove la camera dentro/fuori. NOTA: non funziona come uno zoom - non ha effetto sulla profondità di campo. Usare la funzione 'Angolo vista' per un vero zoom"/>
|
||||
<joystick_track name="cam_track_stick" tool_tip="Muove la camera su/giù e destra/sinistra"/>
|
||||
</panel>
|
||||
|
|
|
|||
|
|
@ -45,6 +45,8 @@
|
|||
<button label="Entra" name="connect_btn"/>
|
||||
<check_box label="Ricorda nome utente" name="remember_username_check"/>
|
||||
<check_box label="Ricorda password" name="remember_check"/>
|
||||
<button name="password_show_btn" tool_tip="Mostra password" />
|
||||
<button name="password_hide_btn" tool_tip="Nascondi password" />
|
||||
</layout_panel>
|
||||
<layout_panel name="mode_selection">
|
||||
<text name="mode_selection_text">
|
||||
|
|
|
|||
|
|
@ -18,6 +18,8 @@
|
|||
<layout_panel name="password_container">
|
||||
<line_editor name="password_edit" label="Password"/>
|
||||
<check_box label="Ricorda password" name="remember_check"/>
|
||||
<button name="password_show_btn" tool_tip="Mostra password" />
|
||||
<button name="password_hide_btn" tool_tip="Nascondi password" />
|
||||
</layout_panel> <!-- password_container -->
|
||||
<layout_panel name="start_location_panel">
|
||||
<combo_box label="Luogo di avvio" name="start_location_combo">
|
||||
|
|
|
|||
|
|
@ -129,7 +129,7 @@
|
|||
Zaawansowane (wymagany restart):
|
||||
</text>
|
||||
<check_box label="Wyłącz autodetekcję VRAM" name="FSOverrideVRAMDetection" tool_tip="Zezwól na wyłączenie automatycznego wykrywania VRAM (używaj z zachowaniem szczególnej ostrożności)" />
|
||||
<slider label="Dedykowana VRAM dla GPU (GB):" name="FSForcedVideoMemory" tool_tip="Ważne: używaj ze szczególną ostrożnością. || Zastąp wykrytą pamięć VRAM dla karty graficznej. || Nie może zawierać 'współdzielonej' pamięci VRAM, która jest częścią systemowej pamięci RAM. || Jeśli nie rozumiesz różnicy, zostaw tę opcję w spokoju." />
|
||||
<slider label="Zastąp dedykowaną VRAM dla GPU (GB):" name="FSForcedVideoMemory" tool_tip="Ważne: używaj ze szczególną ostrożnością. || Zastąp wykrytą pamięć VRAM dla karty graficznej. || Nie może zawierać 'współdzielonej' pamięci VRAM, która jest częścią systemowej pamięci RAM. || Jeśli nie rozumiesz różnicy, zostaw tę opcję w spokoju." />
|
||||
</panel>
|
||||
<panel name="Rendering">
|
||||
<text name="World Updating">
|
||||
|
|
|
|||
|
|
@ -281,6 +281,8 @@ class ViewerManifest(LLManifest,FSViewerManifest):
|
|||
channel_type='release'
|
||||
elif channel_qualifier.startswith('beta'):
|
||||
channel_type='beta'
|
||||
elif channel_qualifier.startswith('alpha'):
|
||||
channel_type='alpha'
|
||||
#<FS:TS> Use our more-or-less-standard channel types instead of LL's
|
||||
#elif channel_qualifier.startswith('project'):
|
||||
# channel_type='project'
|
||||
|
|
@ -288,6 +290,10 @@ class ViewerManifest(LLManifest,FSViewerManifest):
|
|||
# channel_type='test'
|
||||
elif channel_qualifier.startswith('nightly'):
|
||||
channel_type='nightly'
|
||||
elif channel_qualifier.startswith('manual'):
|
||||
channel_type='manual'
|
||||
elif channel_qualifier.startswith('profiling'):
|
||||
channel_type='profiling'
|
||||
else:
|
||||
channel_type='private'
|
||||
return channel_type
|
||||
|
|
@ -361,10 +367,14 @@ class ViewerManifest(LLManifest,FSViewerManifest):
|
|||
|
||||
def icon_path(self):
|
||||
# <FS:ND> Add -os for oss builds
|
||||
chan = self.channel_type()
|
||||
if chan in ['alpha', 'nightly','manual', 'profiling']:
|
||||
chan = 'test'
|
||||
|
||||
if self.fs_is_opensim():
|
||||
return "icons/" + self.channel_type() + "-os"
|
||||
return "icons/" + chan + "-os"
|
||||
# </FS:ND>
|
||||
return "icons/" + self.channel_type()
|
||||
return "icons/" + chan
|
||||
|
||||
def extract_names(self,src):
|
||||
"""Extract contributor names from source file, returns string"""
|
||||
|
|
@ -928,6 +938,22 @@ class Windows_x86_64_Manifest(ViewerManifest):
|
|||
|
||||
return result
|
||||
# </FS:Ansariel>
|
||||
def dl_url_from_channel(self):
|
||||
if self.channel_type() == 'release':
|
||||
return 'https://www.firestormviewer.org/choose-your-platform'
|
||||
elif self.channel_type() == 'beta':
|
||||
return 'https://www.firestormviewer.org/early-access-beta-downloads'
|
||||
elif self.channel_type() == 'alpha':
|
||||
return 'https://www.firestormviewer.org/early-access-alpha-downloads'
|
||||
elif self.channel_type() == 'manual':
|
||||
return 'https://www.firestormviewer.org/early-access-manual-downloads'
|
||||
elif self.channel_type() == 'profiling':
|
||||
return 'https://www.firestormviewer.org/profiling-downloads'
|
||||
elif self.channel_type() == 'nightly':
|
||||
return 'https://www.firestormviewer.org/firestorm-nightly-build-downloads'
|
||||
else:
|
||||
return '<NO-URL>'
|
||||
|
||||
|
||||
def package_finish(self):
|
||||
# a standard map of strings for replacing in the templates
|
||||
|
|
@ -939,7 +965,8 @@ class Windows_x86_64_Manifest(ViewerManifest):
|
|||
'final_exe' : self.final_exe(),
|
||||
'flags':'',
|
||||
'app_name':self.app_name(),
|
||||
'app_name_oneword':self.app_name_oneword()
|
||||
'app_name_oneword':self.app_name_oneword(),
|
||||
'dl_url':self.dl_url_from_channel()
|
||||
}
|
||||
|
||||
substitution_strings = self.fs_splice_grid_substitution_strings( substitution_strings ) #<FS:ND/> Add grid args
|
||||
|
|
@ -974,6 +1001,7 @@ class Windows_x86_64_Manifest(ViewerManifest):
|
|||
OutFile "%(installer_file)s"
|
||||
!define INSTNAME "%(app_name_oneword)s"
|
||||
!define SHORTCUT "%(app_name)s"
|
||||
!define DL_URL "%(dl_url)s"
|
||||
!define URLNAME "secondlife"
|
||||
!define IS64BIT "%(is64bit)d"
|
||||
!define ISAVX2 "%(isavx2)d"
|
||||
|
|
|
|||
Loading…
Reference in New Issue