diff options
author | Glenn Glazer <coyot@lindenlab.com> | 2017-07-19 11:31:36 -0700 |
---|---|---|
committer | Glenn Glazer <coyot@lindenlab.com> | 2017-07-19 11:31:36 -0700 |
commit | b131aa40feac36a6199f4a2d673c1b3600323481 (patch) | |
tree | 99edf2d2f1111bd74f87d2208bd1d6ca5f16501c | |
parent | 2ab0db467a4b0edc36043aaa6b7c24c0c772900a (diff) | |
parent | 1b20e3e7b852acb3d93d1c6983142b55cb220de1 (diff) |
merge from viewer64-vmp-integration
31 files changed, 224 insertions, 361 deletions
diff --git a/autobuild.xml b/autobuild.xml index c30b289a2a..763a096896 100644 --- a/autobuild.xml +++ b/autobuild.xml @@ -3150,9 +3150,9 @@ <key>archive</key> <map> <key>hash</key> - <string>425fc3c3ab386ba39a43e4648f917fc7</string> + <string>01b463520b0f253842335428901404ae</string> <key>url</key> - <string>http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/7011/25711/viewer_manager-1.0.507000-darwin64-507000.tar.bz2</string> + <string>http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/7371/27810/viewer_manager-1.0.507360-darwin64-507360.tar.bz2</string> </map> <key>name</key> <string>darwin64</string> @@ -3174,9 +3174,9 @@ <key>archive</key> <map> <key>hash</key> - <string>c448493f1afd7eb93160c4cb3fc9ef57</string> + <string>2f8626ce0448d56ecfd07e51affadcfd</string> <key>url</key> - <string>http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/7012/25717/viewer_manager-1.0.507000-windows-507000.tar.bz2</string> + <string>http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/7372/27832/viewer_manager-1.0.507360-windows-507360.tar.bz2</string> </map> <key>name</key> <string>windows</string> @@ -3187,7 +3187,7 @@ <key>source_type</key> <string>hg</string> <key>version</key> - <string>1.0.507000</string> + <string>1.0.507360</string> </map> <key>vlc-bin</key> <map> diff --git a/doc/contributions.txt b/doc/contributions.txt index 79ff7161f6..5168bcd5fa 100755 --- a/doc/contributions.txt +++ b/doc/contributions.txt @@ -215,6 +215,7 @@ Ansariel Hiller MAINT-7028 MAINT-7059 MAINT-6519 + STORM-2105 Aralara Rajal Arare Chantilly CHUIBUG-191 diff --git a/indra/CMakeLists.txt b/indra/CMakeLists.txt index 39f8697e8c..a40b2c0846 100644 --- a/indra/CMakeLists.txt +++ b/indra/CMakeLists.txt @@ -3,8 +3,8 @@ # cmake_minimum_required should appear before any # other commands to guarantee full compatibility # with the version specified -## prior to 2.8, the add_custom_target commands used in setting the version did not work correctly -cmake_minimum_required(VERSION 2.8.8 FATAL_ERROR) +## prior to 3.4, the Windows manifest handling was missing +cmake_minimum_required(VERSION 3.4.0 FATAL_ERROR) set(ROOT_PROJECT_NAME "SecondLife" CACHE STRING "The root project/makefile/solution name. Defaults to SecondLife.") diff --git a/indra/llcommon/llsys.cpp b/indra/llcommon/llsys.cpp index fd1828b1cc..1ef6c538ba 100644 --- a/indra/llcommon/llsys.cpp +++ b/indra/llcommon/llsys.cpp @@ -61,6 +61,7 @@ using namespace llsd; #if LL_WINDOWS # include "llwin32headerslean.h" # include <psapi.h> // GetPerformanceInfo() et al. +# include <VersionHelpers.h> #elif LL_DARWIN # include <errno.h> # include <sys/sysctl.h> @@ -110,78 +111,6 @@ static const F32 MEM_INFO_THROTTLE = 20; // dropped below the login framerate, we'd have very little additional data. static const F32 MEM_INFO_WINDOW = 10*60; -#if LL_WINDOWS -// We cannot trust GetVersionEx function on Win8.1 , we should check this value when creating OS string -static const U32 WINNT_WINBLUE = 0x0603; - -#ifndef DLLVERSIONINFO -typedef struct _DllVersionInfo -{ - DWORD cbSize; - DWORD dwMajorVersion; - DWORD dwMinorVersion; - DWORD dwBuildNumber; - DWORD dwPlatformID; -}DLLVERSIONINFO; -#endif - -#ifndef DLLGETVERSIONPROC -typedef int (FAR WINAPI *DLLGETVERSIONPROC) (DLLVERSIONINFO *); -#endif - -bool get_shell32_dll_version(DWORD& major, DWORD& minor, DWORD& build_number) -{ - bool result = false; - const U32 BUFF_SIZE = 32767; - WCHAR tempBuf[BUFF_SIZE]; - if(GetSystemDirectory((LPWSTR)&tempBuf, BUFF_SIZE)) - { - - std::basic_string<WCHAR> shell32_path(tempBuf); - - // Shell32.dll contains the DLLGetVersion function. - // according to msdn its not part of the API - // so you have to go in and get it. - // http://msdn.microsoft.com/en-us/library/bb776404(VS.85).aspx - shell32_path += TEXT("\\shell32.dll"); - - HMODULE hDllInst = LoadLibrary(shell32_path.c_str()); //load the DLL - if(hDllInst) - { // Could successfully load the DLL - DLLGETVERSIONPROC pDllGetVersion; - /* - You must get this function explicitly because earlier versions of the DLL - don't implement this function. That makes the lack of implementation of the - function a version marker in itself. - */ - pDllGetVersion = (DLLGETVERSIONPROC) GetProcAddress(hDllInst, - "DllGetVersion"); - - if(pDllGetVersion) - { - // DLL supports version retrieval function - DLLVERSIONINFO dvi; - - ZeroMemory(&dvi, sizeof(dvi)); - dvi.cbSize = sizeof(dvi); - HRESULT hr = (*pDllGetVersion)(&dvi); - - if(SUCCEEDED(hr)) - { // Finally, the version is at our hands - major = dvi.dwMajorVersion; - minor = dvi.dwMinorVersion; - build_number = dvi.dwBuildNumber; - result = true; - } - } - - FreeLibrary(hDllInst); // Release DLL - } - } - return result; -} -#endif // LL_WINDOWS - // Wrap boost::regex_match() with a function that doesn't throw. template <typename S, typename M, typename R> static bool regex_match_no_exc(const S& string, M& match, const R& regex) @@ -214,221 +143,139 @@ static bool regex_search_no_exc(const S& string, M& match, const R& regex) } } -#if LL_WINDOWS -// GetVersionEx should not works correct with Windows 8.1 and the later version. We need to check this case -static bool check_for_version(WORD wMajorVersion, WORD wMinorVersion, WORD wServicePackMajor) -{ - OSVERSIONINFOEXW osvi = { sizeof(osvi), 0, 0, 0, 0, {0}, 0, 0 }; - DWORDLONG const dwlConditionMask = VerSetConditionMask( - VerSetConditionMask( - VerSetConditionMask( - 0, VER_MAJORVERSION, VER_GREATER_EQUAL), - VER_MINORVERSION, VER_GREATER_EQUAL), - VER_SERVICEPACKMAJOR, VER_GREATER_EQUAL); - - osvi.dwMajorVersion = wMajorVersion; - osvi.dwMinorVersion = wMinorVersion; - osvi.wServicePackMajor = wServicePackMajor; - - return VerifyVersionInfoW(&osvi, VER_MAJORVERSION | VER_MINORVERSION | VER_SERVICEPACKMAJOR, dwlConditionMask) != FALSE; -} -#endif - LLOSInfo::LLOSInfo() : mMajorVer(0), mMinorVer(0), mBuild(0), mOSVersionString("") { #if LL_WINDOWS - OSVERSIONINFOEX osvi; - BOOL bOsVersionInfoEx; - BOOL bShouldUseShellVersion = false; - // Try calling GetVersionEx using the OSVERSIONINFOEX structure. - ZeroMemory(&osvi, sizeof(OSVERSIONINFOEX)); - osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX); - if(!(bOsVersionInfoEx = GetVersionEx((OSVERSIONINFO *) &osvi))) + if (IsWindowsVersionOrGreater(10, 0, 0)) { - // If OSVERSIONINFOEX doesn't work, try OSVERSIONINFO. - osvi.dwOSVersionInfoSize = sizeof (OSVERSIONINFO); - if(!GetVersionEx( (OSVERSIONINFO *) &osvi)) - return; + mMajorVer = 10; + mMinorVer = 0; + mOSStringSimple = "Microsoft Windows 10 "; } - mMajorVer = osvi.dwMajorVersion; - mMinorVer = osvi.dwMinorVersion; - mBuild = osvi.dwBuildNumber; - - DWORD shell32_major, shell32_minor, shell32_build; - bool got_shell32_version = get_shell32_dll_version(shell32_major, - shell32_minor, - shell32_build); - - switch(osvi.dwPlatformId) + else if (IsWindows8Point1OrGreater()) { - case VER_PLATFORM_WIN32_NT: + mMajorVer = 6; + mMinorVer = 3; + if (IsWindowsServer()) { - // Test for the product. - if(osvi.dwMajorVersion <= 4) - { - mOSStringSimple = "Microsoft Windows NT "; - } - else if(osvi.dwMajorVersion == 5 && osvi.dwMinorVersion == 0) - { - mOSStringSimple = "Microsoft Windows 2000 "; - } - else if(osvi.dwMajorVersion ==5 && osvi.dwMinorVersion == 1) - { - mOSStringSimple = "Microsoft Windows XP "; - } - else if(osvi.dwMajorVersion == 5 && osvi.dwMinorVersion == 2) - { - if(osvi.wProductType == VER_NT_WORKSTATION) - mOSStringSimple = "Microsoft Windows XP x64 Edition "; - else - mOSStringSimple = "Microsoft Windows Server 2003 "; - } - else if(osvi.dwMajorVersion == 6 && osvi.dwMinorVersion <= 2) - { - if(osvi.dwMinorVersion == 0) - { - if(osvi.wProductType == VER_NT_WORKSTATION) - mOSStringSimple = "Microsoft Windows Vista "; - else - mOSStringSimple = "Windows Server 2008 "; - } - else if(osvi.dwMinorVersion == 1) - { - if(osvi.wProductType == VER_NT_WORKSTATION) - mOSStringSimple = "Microsoft Windows 7 "; - else - mOSStringSimple = "Windows Server 2008 R2 "; - } - else if(osvi.dwMinorVersion == 2) - { - if (check_for_version(HIBYTE(WINNT_WINBLUE), LOBYTE(WINNT_WINBLUE), 0)) - { - mOSStringSimple = "Microsoft Windows 8.1 "; - bShouldUseShellVersion = true; // GetVersionEx failed, going to use shell version - } - else - { - if(osvi.wProductType == VER_NT_WORKSTATION) - mOSStringSimple = "Microsoft Windows 8 "; - else - mOSStringSimple = "Windows Server 2012 "; - } - } - - ///get native system info if available.. - typedef void (WINAPI *PGNSI)(LPSYSTEM_INFO); ///function pointer for loading GetNativeSystemInfo - SYSTEM_INFO si; //System Info object file contains architecture info - PGNSI pGNSI; //pointer object - ZeroMemory(&si, sizeof(SYSTEM_INFO)); //zero out the memory in information - pGNSI = (PGNSI) GetProcAddress(GetModuleHandle(TEXT("kernel32.dll")), "GetNativeSystemInfo"); //load kernel32 get function - if(NULL != pGNSI) //check if it has failed - pGNSI(&si); //success - else - GetSystemInfo(&si); //if it fails get regular system info - //(Warning: If GetSystemInfo it may result in incorrect information in a WOW64 machine, if the kernel fails to load) - - //msdn microsoft finds 32 bit and 64 bit flavors this way.. - //http://msdn.microsoft.com/en-us/library/ms724429(VS.85).aspx (example code that contains quite a few more flavors - //of windows than this code does (in case it is needed for the future) - if ( si.wProcessorArchitecture==PROCESSOR_ARCHITECTURE_AMD64 ) //check for 64 bit - { - mOSStringSimple += "64-bit "; - } - else if (si.wProcessorArchitecture==PROCESSOR_ARCHITECTURE_INTEL ) - { - mOSStringSimple += "32-bit "; - } - } - else // Use the registry on early versions of Windows NT. - { - mOSStringSimple = "Microsoft Windows (unrecognized) "; - - HKEY hKey; - WCHAR szProductType[80]; - DWORD dwBufLen; - RegOpenKeyEx( HKEY_LOCAL_MACHINE, - L"SYSTEM\\CurrentControlSet\\Control\\ProductOptions", - 0, KEY_QUERY_VALUE, &hKey ); - RegQueryValueEx( hKey, L"ProductType", NULL, NULL, - (LPBYTE) szProductType, &dwBufLen); - RegCloseKey( hKey ); - if ( lstrcmpi( L"WINNT", szProductType) == 0 ) - { - mOSStringSimple += "Professional "; - } - else if ( lstrcmpi( L"LANMANNT", szProductType) == 0 ) - { - mOSStringSimple += "Server "; - } - else if ( lstrcmpi( L"SERVERNT", szProductType) == 0 ) - { - mOSStringSimple += "Advanced Server "; - } - } - - std::string csdversion = utf16str_to_utf8str(osvi.szCSDVersion); - // Display version, service pack (if any), and build number. - std::string tmpstr; - if(osvi.dwMajorVersion <= 4) - { - tmpstr = llformat("version %d.%d %s (Build %d)", - osvi.dwMajorVersion, - osvi.dwMinorVersion, - csdversion.c_str(), - (osvi.dwBuildNumber & 0xffff)); - } - else - { - tmpstr = !bShouldUseShellVersion ? llformat("%s (Build %d)", csdversion.c_str(), (osvi.dwBuildNumber & 0xffff)): - llformat("%s (Build %d)", csdversion.c_str(), shell32_build); - } - - mOSString = mOSStringSimple + tmpstr; + mOSStringSimple = "Windows Server 2012 R2 "; } - break; - - case VER_PLATFORM_WIN32_WINDOWS: - // Test for the Windows 95 product family. - if(osvi.dwMajorVersion == 4 && osvi.dwMinorVersion == 0) + else { - mOSStringSimple = "Microsoft Windows 95 "; - if ( osvi.szCSDVersion[1] == 'C' || osvi.szCSDVersion[1] == 'B' ) - { - mOSStringSimple += "OSR2 "; - } - } - if(osvi.dwMajorVersion == 4 && osvi.dwMinorVersion == 10) + mOSStringSimple = "Microsoft Windows 8.1 "; + } + } + else if (IsWindows8OrGreater()) + { + mMajorVer = 6; + mMinorVer = 2; + if (IsWindowsServer()) { - mOSStringSimple = "Microsoft Windows 98 "; - if ( osvi.szCSDVersion[1] == 'A' ) - { - mOSStringSimple += "SE "; - } - } - if(osvi.dwMajorVersion == 4 && osvi.dwMinorVersion == 90) + mOSStringSimple = "Windows Server 2012 "; + } + else { - mOSStringSimple = "Microsoft Windows Millennium Edition "; + mOSStringSimple = "Microsoft Windows 8 "; + } + } + else if (IsWindows7SP1OrGreater()) + { + mMajorVer = 6; + mMinorVer = 1; + if (IsWindowsServer()) + { + mOSStringSimple = "Windows Server 2008 R2 SP1 "; + } + else + { + mOSStringSimple = "Microsoft Windows 7 SP1 "; + } + } + else if (IsWindows7OrGreater()) + { + mMajorVer = 6; + mMinorVer = 1; + if (IsWindowsServer()) + { + mOSStringSimple = "Windows Server 2008 R2 "; + } + else + { + mOSStringSimple = "Microsoft Windows 7 "; } - mOSString = mOSStringSimple; - break; } + else if (IsWindowsVistaSP2OrGreater()) + { + mMajorVer = 6; + mMinorVer = 0; + if (IsWindowsServer()) + { + mOSStringSimple = "Windows Server 2008 SP2 "; + } + else + { + mOSStringSimple = "Microsoft Windows Vista SP2 "; + } + } + else + { + mOSStringSimple = "Unsupported Windows version "; + } + + ///get native system info if available.. + typedef void (WINAPI *PGNSI)(LPSYSTEM_INFO); ///function pointer for loading GetNativeSystemInfo + SYSTEM_INFO si; //System Info object file contains architecture info + PGNSI pGNSI; //pointer object + ZeroMemory(&si, sizeof(SYSTEM_INFO)); //zero out the memory in information + pGNSI = (PGNSI)GetProcAddress(GetModuleHandle(TEXT("kernel32.dll")), "GetNativeSystemInfo"); //load kernel32 get function + if (NULL != pGNSI) //check if it has failed + pGNSI(&si); //success + else + GetSystemInfo(&si); //if it fails get regular system info + //(Warning: If GetSystemInfo it may result in incorrect information in a WOW64 machine, if the kernel fails to load) - std::string compatibility_mode; - if(got_shell32_version) + //msdn microsoft finds 32 bit and 64 bit flavors this way.. + //http://msdn.microsoft.com/en-us/library/ms724429(VS.85).aspx (example code that contains quite a few more flavors + //of windows than this code does (in case it is needed for the future) + if (si.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_AMD64) //check for 64 bit { - if((osvi.dwMajorVersion != shell32_major || osvi.dwMinorVersion != shell32_minor) && !bShouldUseShellVersion) + mOSStringSimple += "64-bit "; + } + else if (si.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_INTEL) + { + mOSStringSimple += "32-bit "; + } + + // Try calling GetVersionEx using the OSVERSIONINFOEX structure. + OSVERSIONINFOEX osvi; + ZeroMemory(&osvi, sizeof(OSVERSIONINFOEX)); + osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX); + if (GetVersionEx((OSVERSIONINFO *)&osvi)) + { + mBuild = osvi.dwBuildNumber & 0xffff; + } + else + { + // If OSVERSIONINFOEX doesn't work, try OSVERSIONINFO. + osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); + if (GetVersionEx((OSVERSIONINFO *)&osvi)) { - compatibility_mode = llformat(" compatibility mode. real ver: %d.%d (Build %d)", - shell32_major, - shell32_minor, - shell32_build); + mBuild = osvi.dwBuildNumber & 0xffff; } } - mOSString += compatibility_mode; + + mOSString = mOSStringSimple; + if (mBuild > 0) + { + mOSString += llformat("(Build %d)", mBuild); + } + + LLStringUtil::trim(mOSStringSimple); + LLStringUtil::trim(mOSString); #elif LL_DARWIN diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index 266de7277d..f353109deb 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -1561,6 +1561,15 @@ if (WINDOWS) if (INTEL_MEMOPS_LIBRARY) list(APPEND viewer_LIBRARIES ${INTEL_MEMOPS_LIBRARY}) endif (INTEL_MEMOPS_LIBRARY) + + if (ADDRESS_SIZE EQUAL 64) + # We deliberately omit this from the 32bit build because it declares that + # the viewer is compatible with Windows 10; we need that to properly detect + # the Windows version, but doing so causes systems with certain HD video + # cards to fail because Windows 10 does not support them. Leaving this out + # causes those systems to run in a Windows 8 compatibility mode, which works. + LIST(APPEND viewer_SOURCE_FILES windows.manifest) + endif (ADDRESS_SIZE EQUAL 64) endif (WINDOWS) # Add the xui files. This is handy for searching for xui elements diff --git a/indra/newview/app_settings/cmd_line.xml b/indra/newview/app_settings/cmd_line.xml index a9f6079630..e4e1cdcf44 100644 --- a/indra/newview/app_settings/cmd_line.xml +++ b/indra/newview/app_settings/cmd_line.xml @@ -81,7 +81,7 @@ <key>map-to</key> <string>PacketDropPercentage</string> </map> - + <key>god</key> <map> <key>desc</key> diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index fbc984692d..203044ffec 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -16132,6 +16132,18 @@ <key>Value</key> <integer>0</integer> </map> + <key>SkipBenchmark</key> + <map> + <key>Comment</key> + <string>if true, disables running the GPU benchmark at startup + (default to class 1)</string> + <key>Persist</key> + <integer>0</integer> + <key>Type</key> + <string>Boolean</string> + <key>Value</key> + <integer>0</integer> + </map> </map> </llsd> diff --git a/indra/newview/installers/windows/installer_template.nsi b/indra/newview/installers/windows/installer_template.nsi index aeb92eb15b..6fbbf1f1c6 100644 --- a/indra/newview/installers/windows/installer_template.nsi +++ b/indra/newview/installers/windows/installer_template.nsi @@ -404,6 +404,8 @@ DeleteRegKey HKEY_LOCAL_MACHINE "SOFTWARE\Linden Research, Inc.\$INSTPROG" DeleteRegKey HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$INSTPROG"
# BUG-2707 Remove entry that disabled SEHOP
DeleteRegKey HKEY_LOCAL_MACHINE "Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\$INSTEXE"
+DeleteRegKey HKEY_CLASSES_ROOT "Applications\$INSTEXE"
+DeleteRegKey HKEY_CLASSES_ROOT "Applications\${VIEWER_EXE}"
# Clean up shortcuts
Delete "$SMPROGRAMS\$INSTSHORTCUT\*.*"
diff --git a/indra/newview/llfeaturemanager.cpp b/indra/newview/llfeaturemanager.cpp index ad048f6668..3c50810129 100644 --- a/indra/newview/llfeaturemanager.cpp +++ b/indra/newview/llfeaturemanager.cpp @@ -403,70 +403,80 @@ F32 gpu_benchmark(); bool LLFeatureManager::loadGPUClass() { - //get memory bandwidth from benchmark - F32 gbps = gpu_benchmark(); - - if (gbps < 0.f) - { //couldn't bench, use GLVersion -#if LL_DARWIN - //GLVersion is misleading on OSX, just default to class 3 if we can't bench - LL_WARNS() << "Unable to get an accurate benchmark; defaulting to class 3" << LL_ENDL; - mGPUClass = GPU_CLASS_3; -#else - if (gGLManager.mGLVersion < 2.f) + if (!gSavedSettings.getBOOL("SkipBenchmark")) + { + //get memory bandwidth from benchmark + F32 gbps = gpu_benchmark(); + + if (gbps < 0.f) + { //couldn't bench, use GLVersion + #if LL_DARWIN + //GLVersion is misleading on OSX, just default to class 3 if we can't bench + LL_WARNS("RenderInit") << "Unable to get an accurate benchmark; defaulting to class 3" << LL_ENDL; + mGPUClass = GPU_CLASS_3; + #else + if (gGLManager.mGLVersion < 2.f) + { + mGPUClass = GPU_CLASS_0; + } + else if (gGLManager.mGLVersion < 3.f) + { + mGPUClass = GPU_CLASS_1; + } + else if (gGLManager.mGLVersion < 3.3f) + { + mGPUClass = GPU_CLASS_2; + } + else if (gGLManager.mGLVersion < 4.f) + { + mGPUClass = GPU_CLASS_3; + } + else + { + mGPUClass = GPU_CLASS_4; + } + #endif + } + else if (gGLManager.mGLVersion <= 2.f) + { + mGPUClass = GPU_CLASS_0; + } + else if (gGLManager.mGLVersion <= 3.f) + { + mGPUClass = GPU_CLASS_1; + } + else if (gbps <= 5.f) { mGPUClass = GPU_CLASS_0; } - else if (gGLManager.mGLVersion < 3.f) + else if (gbps <= 8.f) { mGPUClass = GPU_CLASS_1; } - else if (gGLManager.mGLVersion < 3.3f) + else if (gbps <= 16.f) { mGPUClass = GPU_CLASS_2; } - else if (gGLManager.mGLVersion < 4.f) + else if (gbps <= 40.f) { mGPUClass = GPU_CLASS_3; } - else + else if (gbps <= 80.f) { mGPUClass = GPU_CLASS_4; } -#endif - } - else if (gGLManager.mGLVersion <= 2.f) - { - mGPUClass = GPU_CLASS_0; - } - else if (gGLManager.mGLVersion <= 3.f) - { - mGPUClass = GPU_CLASS_1; - } - else if (gbps <= 5.f) - { - mGPUClass = GPU_CLASS_0; - } - else if (gbps <= 8.f) + else + { + mGPUClass = GPU_CLASS_5; + } + } //end if benchmark + else { + //setting says don't benchmark MAINT-7558 + LL_WARNS("RenderInit") << "Setting 'SkipBenchmark' is true; defaulting to class 1 (may be required for some GPUs)" << LL_ENDL; + mGPUClass = GPU_CLASS_1; } - else if (gbps <= 16.f) - { - mGPUClass = GPU_CLASS_2; - } - else if (gbps <= 40.f) - { - mGPUClass = GPU_CLASS_3; - } - else if (gbps <= 80.f) - { - mGPUClass = GPU_CLASS_4; - } - else - { - mGPUClass = GPU_CLASS_5; - } // defaults mGPUString = gGLManager.getRawGLString(); @@ -610,7 +620,7 @@ void LLFeatureManager::applyFeatures(bool skipFeatures) LLControlVariable* ctrl = gSavedSettings.getControl(mIt->first); if(ctrl == NULL) { - LL_WARNS() << "AHHH! Control setting " << mIt->first << " does not exist!" << LL_ENDL; + LL_WARNS("RenderInit") << "AHHH! Control setting " << mIt->first << " does not exist!" << LL_ENDL; continue; } @@ -633,7 +643,7 @@ void LLFeatureManager::applyFeatures(bool skipFeatures) } else { - LL_WARNS() << "AHHH! Control variable is not a numeric type!" << LL_ENDL; + LL_WARNS("RenderInit") << "AHHH! Control variable is not a numeric type!" << LL_ENDL; } } } @@ -840,7 +850,7 @@ LLSD LLFeatureManager::getRecommendedSettingsMap() LLControlVariable* ctrl = gSavedSettings.getControl(mIt->first); if (ctrl == NULL) { - LL_WARNS() << "AHHH! Control setting " << mIt->first << " does not exist!" << LL_ENDL; + LL_WARNS("RenderInit") << "AHHH! Control setting " << mIt->first << " does not exist!" << LL_ENDL; continue; } @@ -858,7 +868,7 @@ LLSD LLFeatureManager::getRecommendedSettingsMap() } else { - LL_WARNS() << "AHHH! Control variable is not a numeric type!" << LL_ENDL; + LL_WARNS("RenderInit") << "AHHH! Control variable is not a numeric type!" << LL_ENDL; continue; } map[mIt->first]["Comment"] = ctrl->getComment();; diff --git a/indra/newview/skins/default/xui/de/menu_login.xml b/indra/newview/skins/default/xui/de/menu_login.xml index 69856c0852..9d4c49b05d 100644 --- a/indra/newview/skins/default/xui/de/menu_login.xml +++ b/indra/newview/skins/default/xui/de/menu_login.xml @@ -16,7 +16,6 @@ <menu_item_call label="[SECOND_LIFE]-Blogs" name="Second Life Blogs"/> <menu_item_call label="Fehler melden" name="Report Bug"/> <menu_item_call label="INFO ÜBER [APP_NAME]" name="About Second Life"/> - <menu_item_call label="Nach Updates suchen" name="Check for Updates"/> </menu> <menu_item_check label="Debug-Menü anzeigen" name="Show Debug Menu"/> <menu label="Debug" name="Debug"> diff --git a/indra/newview/skins/default/xui/de/menu_viewer.xml b/indra/newview/skins/default/xui/de/menu_viewer.xml index 2a8eaf26ec..c484f11590 100644 --- a/indra/newview/skins/default/xui/de/menu_viewer.xml +++ b/indra/newview/skins/default/xui/de/menu_viewer.xml @@ -183,7 +183,6 @@ <menu_item_call label="Fehler melden" name="Report Bug"/> <menu_item_call label="Rempler, Stöße & Schläge" name="Bumps, Pushes &amp; Hits"/> <menu_item_call label="INFO ÜBER [APP_NAME]" name="About Second Life"/> - <menu_item_call label="Nach Updates suchen" name="Check for Updates"/> </menu> <menu label="Erweitert" name="Advanced"> <menu_item_call label="Textur neu laden" name="Rebake Texture"/> diff --git a/indra/newview/skins/default/xui/en/floater_about.xml b/indra/newview/skins/default/xui/en/floater_about.xml index ec87b3684e..60f36770bb 100644 --- a/indra/newview/skins/default/xui/en/floater_about.xml +++ b/indra/newview/skins/default/xui/en/floater_about.xml @@ -43,14 +43,6 @@ top_pad="5" height="25" width="180" /> - <button - follows="left|top" - label="Check for updates" - name="update_btn" - left_pad="70" - top_delta="0" - height="25" - width="180" /> </panel> <panel border="true" diff --git a/indra/newview/skins/default/xui/en/menu_login.xml b/indra/newview/skins/default/xui/en/menu_login.xml index 7a73fd6d7c..4e2f819023 100644 --- a/indra/newview/skins/default/xui/en/menu_login.xml +++ b/indra/newview/skins/default/xui/en/menu_login.xml @@ -130,12 +130,6 @@ function="Floater.Show" parameter="sl_about" /> </menu_item_call> - <menu_item_call - label="Check for Updates" - name="Check for Updates"> - <menu_item_call.on_click - function="Advanced.CheckViewerUpdates"/> - </menu_item_call> </menu> <menu_item_check label="Show Debug Menu" diff --git a/indra/newview/skins/default/xui/en/menu_viewer.xml b/indra/newview/skins/default/xui/en/menu_viewer.xml index 697d27907d..92511167c0 100644 --- a/indra/newview/skins/default/xui/en/menu_viewer.xml +++ b/indra/newview/skins/default/xui/en/menu_viewer.xml @@ -1471,12 +1471,6 @@ function="Floater.Show" parameter="sl_about" /> </menu_item_call> - <menu_item_call - label="Check for Updates" - name="Check for Updates"> - <menu_item_call.on_click - function="Advanced.CheckViewerUpdates"/> - </menu_item_call> </menu> <menu create_jump_keys="true" diff --git a/indra/newview/skins/default/xui/es/menu_login.xml b/indra/newview/skins/default/xui/es/menu_login.xml index 4ab6bc84a3..54ec58fe28 100644 --- a/indra/newview/skins/default/xui/es/menu_login.xml +++ b/indra/newview/skins/default/xui/es/menu_login.xml @@ -16,7 +16,6 @@ <menu_item_call label="Blogs de [SECOND_LIFE]" name="Second Life Blogs"/> <menu_item_call label="Informar de un fallo" name="Report Bug"/> <menu_item_call label="Acerca de [APP_NAME]" name="About Second Life"/> - <menu_item_call label="Buscar actualizaciones" name="Check for Updates"/> </menu> <menu_item_check label="Mostrar el menú 'Debug'" name="Show Debug Menu"/> <menu label="Depurar" name="Debug"> diff --git a/indra/newview/skins/default/xui/es/menu_viewer.xml b/indra/newview/skins/default/xui/es/menu_viewer.xml index 99aab42db8..805b24e290 100644 --- a/indra/newview/skins/default/xui/es/menu_viewer.xml +++ b/indra/newview/skins/default/xui/es/menu_viewer.xml @@ -183,7 +183,6 @@ <menu_item_call label="Informar de un fallo" name="Report Bug"/> <menu_item_call label="Bumps, Pushes & Hits" name="Bumps, Pushes &amp; Hits"/> <menu_item_call label="Acerca de [APP_NAME]" name="About Second Life"/> - <menu_item_call label="Buscar actualizaciones" name="Check for Updates"/> </menu> <menu label="Avanzado" name="Advanced"> <menu_item_call label="Recargar las texturas" name="Rebake Texture"/> diff --git a/indra/newview/skins/default/xui/fr/menu_login.xml b/indra/newview/skins/default/xui/fr/menu_login.xml index cbfdcdaf22..498196f602 100644 --- a/indra/newview/skins/default/xui/fr/menu_login.xml +++ b/indra/newview/skins/default/xui/fr/menu_login.xml @@ -16,7 +16,6 @@ <menu_item_call label="Blogs [SECOND_LIFE]" name="Second Life Blogs"/> <menu_item_call label="Signaler un bug" name="Report Bug"/> <menu_item_call label="À propos de [APP_NAME]" name="About Second Life"/> - <menu_item_call label="Rechercher des mises à jour" name="Check for Updates"/> </menu> <menu_item_check label="Afficher le menu de débogage" name="Show Debug Menu"/> <menu label="Débogage" name="Debug"> diff --git a/indra/newview/skins/default/xui/fr/menu_viewer.xml b/indra/newview/skins/default/xui/fr/menu_viewer.xml index 98a69aa043..451d45bedd 100644 --- a/indra/newview/skins/default/xui/fr/menu_viewer.xml +++ b/indra/newview/skins/default/xui/fr/menu_viewer.xml @@ -183,7 +183,6 @@ <menu_item_call label="Signaler un bug" name="Report Bug"/> <menu_item_call label="Collisions, coups et bousculades" name="Bumps, Pushes &amp; Hits"/> <menu_item_call label="À propos de [APP_NAME]" name="About Second Life"/> - <menu_item_call label="Rechercher des mises à jour" name="Check for Updates"/> </menu> <menu label="Avancé" name="Advanced"> <menu_item_call label="Refixer les textures" name="Rebake Texture"/> diff --git a/indra/newview/skins/default/xui/it/menu_login.xml b/indra/newview/skins/default/xui/it/menu_login.xml index 6dafc68f7c..cfb7941ad4 100644 --- a/indra/newview/skins/default/xui/it/menu_login.xml +++ b/indra/newview/skins/default/xui/it/menu_login.xml @@ -16,7 +16,6 @@ <menu_item_call label="[SECOND_LIFE] Blog" name="Second Life Blogs"/> <menu_item_call label="Segnala bug" name="Report Bug"/> <menu_item_call label="Informazioni su [APP_NAME]" name="About Second Life"/> - <menu_item_call label="Cerca aggiornamenti" name="Check for Updates"/> </menu> <menu_item_check label="Mostra menu Debug" name="Show Debug Menu"/> <menu label="Debug" name="Debug"> diff --git a/indra/newview/skins/default/xui/it/menu_viewer.xml b/indra/newview/skins/default/xui/it/menu_viewer.xml index 216af0e458..e010ec1591 100644 --- a/indra/newview/skins/default/xui/it/menu_viewer.xml +++ b/indra/newview/skins/default/xui/it/menu_viewer.xml @@ -183,7 +183,6 @@ <menu_item_call label="Segnala bug" name="Report Bug"/> <menu_item_call label="Urti, spinte e contatti" name="Bumps, Pushes &amp; Hits"/> <menu_item_call label="Informazioni su [APP_NAME]" name="About Second Life"/> - <menu_item_call label="Cerca aggiornamenti" name="Check for Updates"/> </menu> <menu label="Avanzate" name="Advanced"> <menu_item_call label="Ridisegna le texture" name="Rebake Texture"/> diff --git a/indra/newview/skins/default/xui/ja/menu_login.xml b/indra/newview/skins/default/xui/ja/menu_login.xml index 1f31971078..d93395725b 100644 --- a/indra/newview/skins/default/xui/ja/menu_login.xml +++ b/indra/newview/skins/default/xui/ja/menu_login.xml @@ -16,7 +16,6 @@ <menu_item_call label="[SECOND_LIFE] ブログ" name="Second Life Blogs"/> <menu_item_call label="バグを報告する" name="Report Bug"/> <menu_item_call label="[APP_NAME] について" name="About Second Life"/> - <menu_item_call label="アップデートを確認" name="Check for Updates"/> </menu> <menu_item_check label="デバッグメニューを表示する" name="Show Debug Menu"/> <menu label="デバッグ" name="Debug"> diff --git a/indra/newview/skins/default/xui/ja/menu_viewer.xml b/indra/newview/skins/default/xui/ja/menu_viewer.xml index a8be8e7616..f2d989f17f 100644 --- a/indra/newview/skins/default/xui/ja/menu_viewer.xml +++ b/indra/newview/skins/default/xui/ja/menu_viewer.xml @@ -183,7 +183,6 @@ <menu_item_call label="バグを報告する" name="Report Bug"/> <menu_item_call label="衝突・プッシュ・打撃" name="Bumps, Pushes &amp; Hits"/> <menu_item_call label="[APP_NAME] について" name="About Second Life"/> - <menu_item_call label="アップデートを確認" name="Check for Updates"/> </menu> <menu label="アドバンス" name="Advanced"> <menu_item_call label="テクスチャのリベークをする" name="Rebake Texture"/> diff --git a/indra/newview/skins/default/xui/pt/menu_login.xml b/indra/newview/skins/default/xui/pt/menu_login.xml index 7b45eb1ad3..1001ede4e7 100644 --- a/indra/newview/skins/default/xui/pt/menu_login.xml +++ b/indra/newview/skins/default/xui/pt/menu_login.xml @@ -16,7 +16,6 @@ <menu_item_call label="Blogs do [SECOND_LIFE]" name="Second Life Blogs"/> <menu_item_call label="Relatar bug" name="Report Bug"/> <menu_item_call label="Sobre [APP_NAME]" name="About Second Life"/> - <menu_item_call label="Verificar atualizações" name="Check for Updates"/> </menu> <menu_item_check label="Exibir menu de depuração" name="Show Debug Menu"/> <menu label="Depurar" name="Debug"> diff --git a/indra/newview/skins/default/xui/pt/menu_viewer.xml b/indra/newview/skins/default/xui/pt/menu_viewer.xml index 542734eb22..f4a18cfc2c 100644 --- a/indra/newview/skins/default/xui/pt/menu_viewer.xml +++ b/indra/newview/skins/default/xui/pt/menu_viewer.xml @@ -183,7 +183,6 @@ <menu_item_call label="Relatar bug" name="Report Bug"/> <menu_item_call label="Bumps, Pushes & Hits" name="Bumps, Pushes &amp; Hits"/> <menu_item_call label="Sobre [APP_NAME]" name="About Second Life"/> - <menu_item_call label="Verificar atualizações" name="Check for Updates"/> </menu> <menu label="Avançado" name="Advanced"> <menu_item_call label="Recarregar texturas" name="Rebake Texture"/> diff --git a/indra/newview/skins/default/xui/ru/menu_login.xml b/indra/newview/skins/default/xui/ru/menu_login.xml index 754803904a..8a086e5c16 100644 --- a/indra/newview/skins/default/xui/ru/menu_login.xml +++ b/indra/newview/skins/default/xui/ru/menu_login.xml @@ -16,7 +16,6 @@ <menu_item_call label="Блоги [SECOND_LIFE]" name="Second Life Blogs"/> <menu_item_call label="Сообщить об ошибке" name="Report Bug"/> <menu_item_call label="О [APP_NAME]" name="About Second Life"/> - <menu_item_call label="Проверить наличие обновлений" name="Check for Updates"/> </menu> <menu_item_check label="Показать меню отладки" name="Show Debug Menu"/> <menu label="Отладка" name="Debug"> diff --git a/indra/newview/skins/default/xui/ru/menu_viewer.xml b/indra/newview/skins/default/xui/ru/menu_viewer.xml index e0d8861225..b92e266b8d 100644 --- a/indra/newview/skins/default/xui/ru/menu_viewer.xml +++ b/indra/newview/skins/default/xui/ru/menu_viewer.xml @@ -180,7 +180,6 @@ <menu_item_call label="Сообщить об ошибке" name="Report Bug"/> <menu_item_call label="Столкновения, толчки и удары" name="Bumps, Pushes &amp; Hits"/> <menu_item_call label="О [APP_NAME]" name="About Second Life"/> - <menu_item_call label="Проверить наличие обновлений" name="Check for Updates"/> </menu> <menu label="Дополнительно" name="Advanced"> <menu_item_call label="Обновить текстуры" name="Rebake Texture"/> diff --git a/indra/newview/skins/default/xui/tr/menu_login.xml b/indra/newview/skins/default/xui/tr/menu_login.xml index 145fc74508..1a810d58ce 100644 --- a/indra/newview/skins/default/xui/tr/menu_login.xml +++ b/indra/newview/skins/default/xui/tr/menu_login.xml @@ -16,7 +16,6 @@ <menu_item_call label="[SECOND_LIFE] Bloklar" name="Second Life Blogs"/> <menu_item_call label="Hata Bildir" name="Report Bug"/> <menu_item_call label="[APP_NAME] Hakkında" name="About Second Life"/> - <menu_item_call label="Güncellemeleri Kontrol Et" name="Check for Updates"/> </menu> <menu_item_check label="Hata Ayıklama Menüsünü Göster" name="Show Debug Menu"/> <menu label="Hata ayıkla" name="Debug"> diff --git a/indra/newview/skins/default/xui/tr/menu_viewer.xml b/indra/newview/skins/default/xui/tr/menu_viewer.xml index ef001a8687..04b05ee2bb 100644 --- a/indra/newview/skins/default/xui/tr/menu_viewer.xml +++ b/indra/newview/skins/default/xui/tr/menu_viewer.xml @@ -181,7 +181,6 @@ <menu_item_call label="Hata Bildir" name="Report Bug"/> <menu_item_call label="Toslamalar, İtmeler ve Vurmalar" name="Bumps, Pushes &amp; Hits"/> <menu_item_call label="[APP_NAME] Hakkında" name="About Second Life"/> - <menu_item_call label="Güncellemeleri Kontrol Et" name="Check for Updates"/> </menu> <menu label="Gelişmiş" name="Advanced"> <menu_item_call label="Dokuları Tekrar Kaydet" name="Rebake Texture"/> diff --git a/indra/newview/skins/default/xui/zh/menu_login.xml b/indra/newview/skins/default/xui/zh/menu_login.xml index e3f6ca2690..2cace27eca 100644 --- a/indra/newview/skins/default/xui/zh/menu_login.xml +++ b/indra/newview/skins/default/xui/zh/menu_login.xml @@ -16,7 +16,6 @@ <menu_item_call label="[SECOND_LIFE] 部落格" name="Second Life Blogs"/> <menu_item_call label="回報錯誤" name="Report Bug"/> <menu_item_call label="關於 [APP_NAME]" name="About Second Life"/> - <menu_item_call label="查詢是否有新版" name="Check for Updates"/> </menu> <menu_item_check label="顯示除錯選單" name="Show Debug Menu"/> <menu label="除錯" name="Debug"> diff --git a/indra/newview/skins/default/xui/zh/menu_viewer.xml b/indra/newview/skins/default/xui/zh/menu_viewer.xml index a58e1bb0fa..0388b891d6 100644 --- a/indra/newview/skins/default/xui/zh/menu_viewer.xml +++ b/indra/newview/skins/default/xui/zh/menu_viewer.xml @@ -181,7 +181,6 @@ <menu_item_call label="回報臭蟲" name="Report Bug"/> <menu_item_call label="碰撞、推擠與打擊" name="Bumps, Pushes &amp; Hits"/> <menu_item_call label="關於 [APP_NAME]" name="About Second Life"/> - <menu_item_call label="查詢是否有新版" name="Check for Updates"/> </menu> <menu label="進階" name="Advanced"> <menu_item_call label="重新產出材質" name="Rebake Texture"/> diff --git a/indra/newview/windows.manifest b/indra/newview/windows.manifest new file mode 100644 index 0000000000..8321ac5337 --- /dev/null +++ b/indra/newview/windows.manifest @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3" > + <asmv3:application> + <asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings"> + <dpiAware>True/PM</dpiAware> + </asmv3:windowsSettings> + </asmv3:application> + <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1"> + <application> + <!-- Windows 7 --> + <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/> + <!-- Windows 8 --> + <supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/> + <!-- Windows 8.1 --> + <supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/> + <!-- Windows 10 --> + <supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/> + </application> + </compatibility> +</assembly> |