From 4c8c16d95fd64a3f9e92a24b03d086b840c51225 Mon Sep 17 00:00:00 2001 From: baldurk Date: Thu, 18 Jun 2020 17:22:02 +0100 Subject: [PATCH] Fall back to device preferred ABI if package has none. Closes #1944 --- renderdoc/android/android.cpp | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/renderdoc/android/android.cpp b/renderdoc/android/android.cpp index b3c8311ec..9bc2f4f57 100644 --- a/renderdoc/android/android.cpp +++ b/renderdoc/android/android.cpp @@ -1176,7 +1176,27 @@ ExecuteResult AndroidRemoteServer::ExecuteAndInject(const char *a, const char *w // set up environment variables for the package, and point to ourselves for vulkan and GLES // layers rdcstr installedABI = Android::DetermineInstalledABI(m_deviceID, packageName); - rdcstr layerPackage = GetRenderDocPackageForABI(Android::GetABI(installedABI)); + + Android::ABI abi = Android::ABI::unknown; + + if(installedABI == "null" || installedABI.empty()) + { + RDCLOG("Can't determine installed ABI, falling back to device preferred ABI"); + + // pick the last ABI + rdcarray abis = Android::GetSupportedABIs(m_deviceID); + + if(abis.empty()) + RDCWARN("No ABIs listed as supported"); + else + abi = abis.back(); + } + else + { + abi = Android::GetABI(installedABI); + } + + rdcstr layerPackage = GetRenderDocPackageForABI(abi); Android::adbExecCommand(m_deviceID, "shell settings put global enable_gpu_debug_layers 1"); Android::adbExecCommand(m_deviceID, "shell settings put global gpu_debug_app " + packageName); Android::adbExecCommand(m_deviceID,