Restore NDK r11c as preferred version
authorJesse Hall <jessehall@google.com>
Tue, 3 Oct 2017 20:38:49 +0000 (13:38 -0700)
committerAlexander Galazin <Alexander.Galazin@arm.com>
Wed, 4 Oct 2017 07:43:37 +0000 (03:43 -0400)
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
scripts/android/build_apk.py

index 392d0c4..e53d2f2 100644 (file)
@@ -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 <path to Android SDK> --ndk <path to Android NDK>
-
 The package can be installed by either running:
 
        python scripts/android/install_apk.py
index 689da9b..bee6aa0 100644 (file)
@@ -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"))