From 8203d1e8c63bc75290deb26334ba67bc3a28abf8 Mon Sep 17 00:00:00 2001 From: Jesse Hall Date: Tue, 3 Oct 2017 13:38:49 -0700 Subject: [PATCH] Restore NDK r11c as preferred version dEQP doesn't work on armeabi-v7a when built with NDK r15. Until that is fixed, restore support for r11c, issue a warning when using NDK r15 for non-armeabi-v7a, and fail early when using NDK r15 on armeabi-v7a. Components: Framework Affects: all tests VK-GL-CTS issue: 723 Change-Id: I544393abb30ec49e66fa9510207446d732f4b47d (cherry picked from commit c5e88e1c851ece6f37f7db117f209817094d8a96) --- external/vulkancts/README.md | 8 ++------ scripts/android/build_apk.py | 9 ++++++++- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/external/vulkancts/README.md b/external/vulkancts/README.md index 392d0c4..e53d2f2 100644 --- a/external/vulkancts/README.md +++ b/external/vulkancts/README.md @@ -14,7 +14,7 @@ Requirements * Git (for checking out sources) * Python 2.7.x (all recent versions in 2.x should work, 3.x is not supported) - * CMake 2.8 (3.2 for Android builds) or newer + * CMake 2.8 (3.2 for Android NDK r15 builds) or newer ### Win32 @@ -26,7 +26,7 @@ Requirements ### Android - * Android NDK r15 + * Android NDK r11c (NDK r15 support is experimental) * Android SDK with: SDK Tools, SDK Platform-tools, SDK Build-tools, and API 22 * Java Development Kit (JDK) * Windows: either NMake or Ninja in PATH @@ -87,10 +87,6 @@ By default the CTS package will be built for the Android API level 21 (Android 5 Certain tests, for example tests for VK_ANDROID_external_memory_android_hardware_buffer, may require more recent API levels. A required API level may be supplied using --native-api command line option. -Recommended build command for Android 8.0.0 is: - - python scripts/android/build_apk.py --native-api=26 --sdk --ndk - The package can be installed by either running: python scripts/android/install_apk.py diff --git a/scripts/android/build_apk.py b/scripts/android/build_apk.py index 689da9b..bee6aa0 100644 --- a/scripts/android/build_apk.py +++ b/scripts/android/build_apk.py @@ -190,10 +190,17 @@ class Configuration: if not NDKEnv.isHostOsSupported(self.env.ndk.hostOsName): raise Exception("NDK '%s' is not supported on this machine" % self.env.ndk.hostOsName) - supportedNDKVersion = [15] + supportedNDKVersion = [11, 15] if self.env.ndk.version[0] not in supportedNDKVersion: raise Exception("Android NDK version %d is not supported; build requires NDK version %s" % (self.env.ndk.version[0], supportedNDKVersion)) + # https://gitlab.khronos.org/Tracker/vk-gl-cts/issues/723 + if self.env.ndk.version[0] == 15: + if "armeabi-v7a" in self.abis: + raise Exception("dEQP is incompatible with NDK r15 for armeabi-v7a") + else: + print >> sys.stderr, "WARNING: Support for NDK r15 is experimental; NDK r11c is recommended for official submissions" + if self.env.sdk.buildToolsVersion == (0,0,0): raise Exception("No build tools directory found at %s" % os.path.join(self.env.sdk.path, "build-tools")) -- 2.7.4