Snap for 7077657 from c5958ce8cc4f61b4602d5318dd6ad985c3a4d2ae to r-keystone-qcom-release

Change-Id: I9f582d2da9471d9fbf22431330d8b02964105be3
diff --git a/Android.bp b/Android.bp
index 9fdfa9a..228bcaf 100644
--- a/Android.bp
+++ b/Android.bp
@@ -300,6 +300,7 @@
 cc_library_shared {
     name: "libRS",
     defaults: ["rs_defaults"],
+    native_bridge_supported: true,
     srcs: [
         "rsApiStubs.cpp",
         "rsHidlAdaptation.cpp",
diff --git a/cpp/Android.bp b/cpp/Android.bp
index 973c563..1d08b02 100644
--- a/cpp/Android.bp
+++ b/cpp/Android.bp
@@ -1,5 +1,6 @@
 cc_library_static {
     name: "libRSDispatch",
+    native_bridge_supported: true,
     vendor_available: true,
 
     srcs: ["rsDispatch.cpp"],
diff --git a/cpu_ref/Android.bp b/cpu_ref/Android.bp
index c1a3da0..d5b522b 100644
--- a/cpu_ref/Android.bp
+++ b/cpu_ref/Android.bp
@@ -85,12 +85,6 @@
         },
     },
 
-    target: {
-        arm_on_x86: {
-            cflags: ["-DBUILD_ARM_FOR_X86"],
-        },
-    },
-
     shared_libs: [
         "libRS_internal",
         "libc++",
diff --git a/cpu_ref/rsCpuScript.h b/cpu_ref/rsCpuScript.h
index e9feb1c..9ba65c7 100644
--- a/cpu_ref/rsCpuScript.h
+++ b/cpu_ref/rsCpuScript.h
@@ -155,20 +155,34 @@
 
 } // namespace renderscript
 
+#ifndef __ANDROID_NATIVE_BRIDGE__
+
 #ifdef __LP64__
 #define SYSLIBPATH "/system/lib64"
 #define SYSLIBPATH_BC "/system/lib64"
 #define SYSLIBPATH_VENDOR "/system/vendor/lib64"
-#elif defined(BUILD_ARM_FOR_X86) && defined(__arm__)
-#define SYSLIBPATH "/system/lib/arm"
-#define SYSLIBPATH_BC "/system/lib"
-#define SYSLIBPATH_VENDOR "/system/vendor/lib/arm"
 #else
 #define SYSLIBPATH "/system/lib"
 #define SYSLIBPATH_BC "/system/lib"
 #define SYSLIBPATH_VENDOR "/system/vendor/lib"
 #endif
 
+#else
+
+#if defined(__arm__)
+#define SYSLIBPATH "/system/lib/arm"
+#define SYSLIBPATH_BC "/system/lib"
+#define SYSLIBPATH_VENDOR "/system/vendor/lib/arm"
+#elif defined(__aarch64__)
+#define SYSLIBPATH "/system/lib64/arm64"
+#define SYSLIBPATH_BC "/system/lib64"
+#define SYSLIBPATH_VENDOR "/system/vendor/lib64/arm64"
+#else
+#error Unknown architecture
+#endif
+
+#endif
+
 } // namespace android
 
 namespace {
diff --git a/support.bp b/support.bp
index 1a4bd59..ca73744 100644
--- a/support.bp
+++ b/support.bp
@@ -40,11 +40,9 @@
     ],
 }
 
-cc_library_shared {
-    name: "libRSSupport",
+cc_defaults {
+    name: "libRSSupport_defaults",
     defaults: ["rs_support_defaults"],
-    sdk_version: "9",
-
     srcs: [
         "rsAllocation.cpp",
         "rsApiAllocation.cpp",
@@ -185,6 +183,12 @@
         // Allow implicit fallthrough in rsContext.cpp:414 until it is fixed.
         "-Wno-error=implicit-fallthrough",
     ],
+}
+
+cc_library_shared {
+    name: "libRSSupport",
+    defaults: ["libRSSupport_defaults"],
+    sdk_version: "9",
 
     target: {
         platform: {
@@ -192,3 +196,30 @@
         },
     },
 }
+
+// Note: libnative_bridge_guest libraries don't support "sdk_version" - and we
+// must use libnative_bridge_guest_libnativewindow instead of libnativewindow
+// when we are doing native_bridge build.
+cc_library_shared {
+    name: "libnative_bridge_guest_libRSSupport",
+    stem: "libRSSupport",
+    defaults: ["libRSSupport_defaults"],
+
+    // Import headers not provided by libnative_bridge_guest_libnativewindow.
+    header_libs: [
+        "libarect_headers",
+        "libnativewindow_headers"
+    ],
+
+    shared_libs: [
+        "libnative_bridge_guest_libnativewindow",
+    ],
+
+    enabled: false,
+    native_bridge_supported: true,
+    target: {
+       native_bridge: {
+           enabled: true,
+       }
+    },
+}