aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2024-05-09 16:36:23 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2024-05-09 16:36:23 +0000
commit2a95e5051da364ab2fa0624de9ab2f2c8b37aa9e (patch)
treec42d2b45d9172a5c464849e47ac10c855928aee6
parent06d2cc62fcf1cb94f3fba40eeda10f4568049cfd (diff)
parent3791417189c68e5d6a31801446afd32f07e6b950 (diff)
downloadqemu-emu-35-1-release.tar.gz
Merge "Snap for 11819808 from 10b96003f0b6eaa9382b9d306b1a6c3eea53a7a4 to emu-35-1-release" into emu-35-1-releaseemu-35-1-release
-rw-r--r--android/android-emu/android/snapshot/Quickboot.cpp11
-rw-r--r--android/android-ui/modules/aemu-gl-init/src/android/opengl/emugl_config.cpp27
-rw-r--r--android/android-ui/modules/aemu-gl-init/test/android/opengl/emugl_config_unittest.cpp7
-rw-r--r--android/android-ui/modules/aemu-ui-qt/src/android/skin/qt/emulator-container.cpp8
-rw-r--r--android/build/cmake/rust/crates/hermit-abi/Cargo.toml2
-rw-r--r--android/build/tools/fetch_netsim/src/aemu/main.py8
-rw-r--r--mac.source.properties2
-rw-r--r--source.properties2
-rw-r--r--win.source.properties2
9 files changed, 46 insertions, 23 deletions
diff --git a/android/android-emu/android/snapshot/Quickboot.cpp b/android/android-emu/android/snapshot/Quickboot.cpp
index dd7d3b8ca1..e296f6acea 100644
--- a/android/android-emu/android/snapshot/Quickboot.cpp
+++ b/android/android-emu/android/snapshot/Quickboot.cpp
@@ -20,6 +20,7 @@
#include "android/base/files/IniFile.h"
#include "android/cmdline-option.h"
#include "android/console.h"
+#include "android/emulation/AutoDisplays.h"
#include "host-common/FeatureControl.h"
#include "host-common/hw-config.h"
#include "android/metrics/MetricsReporter.h"
@@ -369,6 +370,16 @@ bool Quickboot::load(const char* name) {
LOG(WARNING) << "Exiting emulator as requested by the user...";
mVmOps.vmShutdown();
}
+ } else if (android::automotive::isDistantDisplaySupported(
+ getConsoleAgents()->settings->avdInfo())) {
+ // Applying forced cold boot for automotive distant display emulator
+ // TODO: revert when fixed the snapboot issue in b/338307682
+ mWindow.showMessage("Forced cold boot for automotive distant display emulator",
+ WINDOW_MESSAGE_OK, kDefaultMessageTimeoutMs);
+ reportFailedLoad(pb::EmulatorQuickbootLoad::
+ EMULATOR_QUICKBOOT_LOAD_COLD_AVD,
+ FailureReason::Empty);
+ LOG(WARNING) << "Forced cold boot for automotive distant display emulator";
} else {
// TODO: Figure out how we can detect that this snapshot caused a crash?
// See b/233665745
diff --git a/android/android-ui/modules/aemu-gl-init/src/android/opengl/emugl_config.cpp b/android/android-ui/modules/aemu-gl-init/src/android/opengl/emugl_config.cpp
index 6771c23658..abbbb5acf0 100644
--- a/android/android-ui/modules/aemu-gl-init/src/android/opengl/emugl_config.cpp
+++ b/android/android-ui/modules/aemu-gl-init/src/android/opengl/emugl_config.cpp
@@ -467,10 +467,6 @@ bool emuglConfig_init(EmuglConfig* config,
return true;
}
- if (!strcmp("angle", gpu_mode)) {
- gpu_mode = "angle_indirect";
- }
-
if (!strcmp("swiftshader", gpu_mode)) {
gpu_mode = "swiftshader_indirect";
}
@@ -483,13 +479,8 @@ bool emuglConfig_init(EmuglConfig* config,
bitness = System::get()->getProgramBitness();
}
-#ifdef __APPLE__
- if (!strcmp("host", gpu_mode)) {
- use_host_vulkan = true;
- }
-#endif
-
config->bitness = bitness;
+ config->use_host_vulkan = use_host_vulkan;
resetBackendList(bitness);
// For GPU mode in software rendering:
@@ -593,9 +584,6 @@ bool emuglConfig_init(EmuglConfig* config,
break;
case WINSYS_GLESBACKEND_PREFERENCE_NATIVEGL:
gpu_mode = "host";
-#ifdef __APPLE__
- use_host_vulkan = true;
-#endif
break;
default:
gpu_mode = "host";
@@ -605,7 +593,12 @@ bool emuglConfig_init(EmuglConfig* config,
__func__, gpu_mode, uiPreferredBackend);
}
}
- config->use_host_vulkan = use_host_vulkan;
+ // b/328275986: Turn off ANGLE because it breaks.
+ if (!strcmp("angle", gpu_mode) || !strcmp("angle_indirect", gpu_mode)
+ || !strcmp("angle9", gpu_mode) || !strcmp("angle9_indirect", gpu_mode)) {
+ gpu_mode = "swiftshader_indirect";
+ }
+
const char* library_mode = gpu_mode;
printf("library_mode %s gpu mode %s\n", library_mode, gpu_mode);
if ((force_swiftshader_to_swangle && strstr(library_mode, "swiftshader"))
@@ -664,7 +657,9 @@ bool emuglConfig_init(EmuglConfig* config,
emuglConfig_get_vulkan_hardware_gpu(&vkVendor, &vkMajor, &vkMinor,
&vkPatch);
#if defined(__linux__)
- if (vkVendor && strncmp("AMD", vkVendor, 3) == 0) {
+ bool isAMD = (vkVendor && strncmp("AMD", vkVendor, 3) == 0);
+ bool isIntel = (vkVendor && strncmp("Intel", vkVendor, 5) == 0);
+ if (isAMD) {
feature_set_if_not_overridden(
kFeature_VulkanAllocateDeviceMemoryOnly, true);
if (fc::isEnabled(fc::VulkanAllocateDeviceMemoryOnly)) {
@@ -674,7 +669,7 @@ bool emuglConfig_init(EmuglConfig* config,
vkVendor);
}
}
- if (vkVendor && strncmp("Intel", vkVendor, 5) == 0) {
+ if (isIntel || isAMD) {
feature_set_if_not_overridden(kFeature_VulkanAllocateHostMemory,
true);
if (fc::isEnabled(fc::VulkanAllocateHostMemory)) {
diff --git a/android/android-ui/modules/aemu-gl-init/test/android/opengl/emugl_config_unittest.cpp b/android/android-ui/modules/aemu-gl-init/test/android/opengl/emugl_config_unittest.cpp
index fbda28e32d..3120df4273 100644
--- a/android/android-ui/modules/aemu-gl-init/test/android/opengl/emugl_config_unittest.cpp
+++ b/android/android-ui/modules/aemu-gl-init/test/android/opengl/emugl_config_unittest.cpp
@@ -268,10 +268,11 @@ TEST(EmuglConfig, initFromUISetting) {
EXPECT_STREQ("host", config.backend);
break;
case 1:
- EXPECT_STREQ("angle_indirect", config.backend);
+ // b/328275986: Turn off ANGLE for now.
+ //EXPECT_STREQ("angle_indirect", config.backend);
break;
case 2:
- EXPECT_STREQ("angle_indirect", config.backend);
+ //EXPECT_STREQ("angle_indirect", config.backend);
break;
case 3:
#ifdef __APPLE__
@@ -290,7 +291,7 @@ TEST(EmuglConfig, initFromUISetting) {
}
}
-TEST(EmuglConfig, initGLESv2Only) {
+TEST(EmuglConfig, DISABLED_initGLESv2Only) {
TestSystem testSys("foo", System::kProgramBitness, "/");
TestTempDir* myDir = testSys.getTempRoot();
myDir->makeSubDir(System::get()->getLauncherDirectory().c_str());
diff --git a/android/android-ui/modules/aemu-ui-qt/src/android/skin/qt/emulator-container.cpp b/android/android-ui/modules/aemu-ui-qt/src/android/skin/qt/emulator-container.cpp
index 09f286c006..647f29a1ec 100644
--- a/android/android-ui/modules/aemu-ui-qt/src/android/skin/qt/emulator-container.cpp
+++ b/android/android-ui/modules/aemu-ui-qt/src/android/skin/qt/emulator-container.cpp
@@ -272,6 +272,14 @@ void EmulatorContainer::closeEvent(QCloseEvent* event) {
slot_hideModalOverlay();
slot_hideVirtualSceneInfoDialog();
mEmulatorWindow->closeEvent(event);
+ // In embedded mode, sometimes QCoreApplication::quit() doesn't get called,
+ // which means the Qt main loop never quits. So let's explicitly call quit()
+ // here prevent that situation from occurring.
+ if (getConsoleAgents()
+ ->settings->android_cmdLineOptions()
+ ->qt_hide_window) {
+ qApp->quit();
+ }
}
void EmulatorContainer::focusInEvent(QFocusEvent* event) {
diff --git a/android/build/cmake/rust/crates/hermit-abi/Cargo.toml b/android/build/cmake/rust/crates/hermit-abi/Cargo.toml
index fa7f0e15df..52bb411868 100644
--- a/android/build/cmake/rust/crates/hermit-abi/Cargo.toml
+++ b/android/build/cmake/rust/crates/hermit-abi/Cargo.toml
@@ -1,3 +1,3 @@
[package]
name = "hermit-abi"
-version = "0.2.6"
+version = "0.3.0"
diff --git a/android/build/tools/fetch_netsim/src/aemu/main.py b/android/build/tools/fetch_netsim/src/aemu/main.py
index 660c290ebd..cc0e1ffd26 100644
--- a/android/build/tools/fetch_netsim/src/aemu/main.py
+++ b/android/build/tools/fetch_netsim/src/aemu/main.py
@@ -262,6 +262,13 @@ def main():
help="Set of reviewers for the gerrit change that will be created.",
)
parser.add_argument(
+ "--cc",
+ default="jansene@google.com,shuohsu@google.com,hyunjaemoon@google.com",
+ dest="cc",
+ type=str,
+ help="Set of ccs for the gerrit change that will be created.",
+ )
+ parser.add_argument(
"--dry-run",
action="store_true",
help="Dry run, only obtain artifacts, do not use git or repo.",
@@ -325,6 +332,7 @@ def main():
"Presubmit-Ready+1",
f"--br=netsim-{bid}",
f"--re={args.reviewers}",
+ f"--cc={args.cc}",
str(destination_dir),
],
dry_run=args.dry_run,
diff --git a/mac.source.properties b/mac.source.properties
index e319ed551a..3f1db07be1 100644
--- a/mac.source.properties
+++ b/mac.source.properties
@@ -1,4 +1,4 @@
Pkg.UserSrc=false
-Pkg.Revision=35.1.8
+Pkg.Revision=35.1.9
Pkg.Path=emulator
Pkg.Desc=Android Emulator
diff --git a/source.properties b/source.properties
index e319ed551a..3f1db07be1 100644
--- a/source.properties
+++ b/source.properties
@@ -1,4 +1,4 @@
Pkg.UserSrc=false
-Pkg.Revision=35.1.8
+Pkg.Revision=35.1.9
Pkg.Path=emulator
Pkg.Desc=Android Emulator
diff --git a/win.source.properties b/win.source.properties
index e319ed551a..3f1db07be1 100644
--- a/win.source.properties
+++ b/win.source.properties
@@ -1,4 +1,4 @@
Pkg.UserSrc=false
-Pkg.Revision=35.1.8
+Pkg.Revision=35.1.9
Pkg.Path=emulator
Pkg.Desc=Android Emulator