From 2aea7cfc25d42e3d87db4fb759baa4419ec23dca Mon Sep 17 00:00:00 2001 From: Callum Prentice Date: Wed, 24 Feb 2021 15:20:39 -0800 Subject: Pull in new version of Dullahan with support for setting the host process path, tweak viewer manifest so it copies the SwiftShader folder (required but may be a Chromium bug) and improve background color matching --- autobuild.xml | 6 +++--- indra/media_plugins/cef/media_plugin_cef.cpp | 12 +++++++++++- indra/newview/viewer_manifest.py | 6 ++++++ 3 files changed, 20 insertions(+), 4 deletions(-) diff --git a/autobuild.xml b/autobuild.xml index 08fd69f2f2..fa21054499 100644 --- a/autobuild.xml +++ b/autobuild.xml @@ -604,16 +604,16 @@ archive hash - 0c0ef3d529fcde0d966d24af39175041 + 9e12e974d00d6f45b2cbb891fa8a4747 url - https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/77425/734566/dullahan-1.9.1.202102230022_88.2.8_ge484012_chromium-88.0.4324.150-windows64-556277.tar.bz2 + https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/77546/735174/dullahan-1.9.1.202102242217_88.2.8_ge484012_chromium-88.0.4324.150-windows64-556355.tar.bz2 name windows64 version - 1.9.1.202102230022_88.2.8_ge484012_chromium-88.0.4324.150 + 1.9.1.202102242217_88.2.8_ge484012_chromium-88.0.4324.150 elfio diff --git a/indra/media_plugins/cef/media_plugin_cef.cpp b/indra/media_plugins/cef/media_plugin_cef.cpp index 0bb62d79ff..c658f35480 100644 --- a/indra/media_plugins/cef/media_plugin_cef.cpp +++ b/indra/media_plugins/cef/media_plugin_cef.cpp @@ -525,8 +525,18 @@ void MediaPluginCEF::receiveMessage(const char* message_string) mCEFLib->setOnJSDialogCallback(std::bind(&MediaPluginCEF::onJSDialogCallback, this, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3)); dullahan::dullahan_settings settings; +#if LL_WINDOWS + // As of CEF version 83+, for Windows versions, we need to tell CEF + // where the host helper process is since this DLL is not in the same + // dir as the executable that loaded it (SLPlugin.exe). The code in + // Dullahan that tried to figure out the location automatically uses + // the location of the exe which isn't helpful so we tell it explicitly. + char cur_dir_str[MAX_PATH]; + GetCurrentDirectoryA(MAX_PATH, cur_dir_str); + settings.host_process_path = std::string(cur_dir_str); +#endif settings.accept_language_list = mHostLanguage; - settings.background_color = 0xffffffff; + settings.background_color = 0xff282828; // close to Viewer background color settings.cache_enabled = true; settings.root_cache_path = mRootCachePath; settings.cache_path = mCachePath; diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py index 6d231040f7..3ce3aae469 100755 --- a/indra/newview/viewer_manifest.py +++ b/indra/newview/viewer_manifest.py @@ -611,6 +611,12 @@ class WindowsManifest(ViewerManifest): self.path("msvcp140.dll") self.path("vcruntime140.dll") + # as of CEF 88, this (apparently software rendering support) + # folder is required - likely a Chromium bug - but including + # for now until the root cause is found - it's tiny + with self.prefix(src=os.path.join(pkgdir, 'bin', 'release')): + self.path("swiftshader/") + # CEF files common to all configurations with self.prefix(src=os.path.join(pkgdir, 'resources')): self.path("cef.pak") -- cgit v1.2.3