Various additional fixes for Android build

- VK_EXPORT was not defined, causing all kinds of trouble
- Android WSI code was based on an earlier version which didnt require
  aspect mask to be passed to some functions
- More missing files for ARM target

Change-Id: Ia5f88c5692d48f2d7898c86c26347bed6e4b4f22
Repro: external/swiftshader$ mma
Bug: b/129979580
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/32188
Presubmit-Ready: Chris Forbes <chrisforbes@google.com>
Tested-by: Chris Forbes <chrisforbes@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
diff --git a/Android.bp b/Android.bp
index 4b75345..ab113a3 100644
--- a/Android.bp
+++ b/Android.bp
@@ -30,6 +30,7 @@
     cppflags: [
         "-Woverloaded-virtual",
         "-DVK_USE_PLATFORM_ANDROID_KHR",
+	"-DVK_EXPORT= ",
     ],
     cpp_std: "c++11",
 
diff --git a/src/Vulkan/libVulkan.cpp b/src/Vulkan/libVulkan.cpp
index 1c88a33..cc32201 100644
--- a/src/Vulkan/libVulkan.cpp
+++ b/src/Vulkan/libVulkan.cpp
@@ -2809,7 +2809,7 @@
 
 	BackingMemory backmem = it->second;
 
-	VkExtent3D extent = vk::Cast(image)->getMipLevelExtent(0);
+	VkExtent3D extent = vk::Cast(image)->getMipLevelExtent(VK_IMAGE_ASPECT_COLOR_BIT, 0);
 	grallocMod->lock(backmem.nativeHandle, GRALLOC_USAGE_SW_WRITE_OFTEN, 0, 0, extent.width, extent.height, &nativeBuffer);
 
 	char* buffer = static_cast<char*>(vk::Cast(backmem.imageMemory)->getOffsetPointer(0));
diff --git a/third_party/llvm-7.0/Android.bp b/third_party/llvm-7.0/Android.bp
index 6d81b91..401d9f2 100644
--- a/third_party/llvm-7.0/Android.bp
+++ b/third_party/llvm-7.0/Android.bp
@@ -41,6 +41,7 @@
         "llvm/lib/Analysis/LoopAnalysisManager.cpp",
         "llvm/lib/Analysis/LoopInfo.cpp",
         "llvm/lib/Analysis/LoopPass.cpp",
+        "llvm/lib/Analysis/LoopAccessAnalysis.cpp",
         "llvm/lib/Analysis/MemoryBuiltins.cpp",
         "llvm/lib/Analysis/MemoryDependenceAnalysis.cpp",
         "llvm/lib/Analysis/MemoryLocation.cpp",