Edit

kc3-lang/angle/android/angle_apk.gni

Branch :

  • Show log

    Commit

  • Author : Shahbaz Youssefi
    Date : 2019-02-26 15:00:54
    Hash : 6f1a852f
    Message : Reland "Roll Vulkan repos" This reverts commit 3805122b0297b8208ff734a3bcdaa12850b60a00. Reason for revert: The OOM issue that coincidentally happened at the time this CL landed, and for which this CL was reverted, turned out to be irrelevant to this change. Original change's description: > Revert "Roll Vulkan repos" > > This reverts commit 55ea947c3bdd6c0ef68fc4b9ddbda26889f62622. > > Reason for revert: Seems to be causing a memory corruption on Windows/Intel bots. > > Original change's description: > > Roll Vulkan repos > > > > Bug: angleproject:3095 > > Change-Id: I6ae9d61304981223f9e2f1869ed32612aa38952c > > Reviewed-on: https://chromium-review.googlesource.com/c/1405714 > > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> > > Reviewed-by: Yuly Novikov <ynovikov@chromium.org> > > TBR=ynovikov@chromium.org,jmadill@chromium.org,syoussefi@chromium.org > > Change-Id: I61879770c9bb16ac2231b081bda08e6211ba6831 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: angleproject:3095 > Reviewed-on: https://chromium-review.googlesource.com/c/1470605 > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> TBR=ynovikov@chromium.org,jmadill@google.com,syoussefi@chromium.org Bug: angleproject:3095 Change-Id: Iabe8ea215b44c65c4c22b9b158c5dad3ffffdbb0 Reviewed-on: https://chromium-review.googlesource.com/c/1489153 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@google.com>

  • android/angle_apk.gni
  • # Copyright 2018 The Chromium Authors. All rights reserved.
    # Use of this source code is governed by a BSD-style license that can be
    # found in the LICENSE file.
    
    import("//build/config/android/rules.gni")
    import("//third_party/angle/gni/angle.gni")
    
    vulkan_validation_layers = [
      "VkLayer_core_validation",
      "VkLayer_object_lifetimes",
      "VkLayer_stateless_validation",
      "VkLayer_thread_safety",
      "VkLayer_unique_objects",
    ]
    
    angle_libraries = [
      "EGL",
      "GLESv1_CM",
      "GLESv2",
      "feature_support",
    ]
    
    template("angle_apk") {
      manifest_target_name = "${target_name}__manifest"
      manifest_path = "${target_gen_dir}/${target_name}/android/AndroidManifest.xml"
    
      jinja_template(manifest_target_name) {
        input = "//third_party/angle/android/AndroidManifest.xml.jinja2"
        output = manifest_path
        variables = [ "manifest_package=${invoker.package_name}" ]
      }
    
      android_resources("${invoker.package_name}_resources") {
        resource_dirs = [ "android/res" ]
        custom_package = "${invoker.package_name}"
      }
    
      android_assets("${invoker.package_name}_assets") {
        disable_compression = true
        sources = [
          "src/feature_support_util/a4a_rules.json",
        ]
      }
    
      android_apk(target_name) {
        forward_variables_from(invoker, "*")
        android_manifest = manifest_path
        android_manifest_dep = ":$manifest_target_name"
        deps = [
          ":${invoker.package_name}_assets",
          ":${invoker.package_name}_resources",
        ]
        if (symbol_level != 0) {
          deps += [ ":compressed_symbols" ]
          if (build_apk_secondary_abi && android_64bit_target_cpu) {
            deps += [ ":compressed_symbols($android_secondary_abi_toolchain)" ]
          }
        }
    
        uncompress_shared_libraries = true
    
        if (build_apk_secondary_abi && android_64bit_target_cpu) {
          if (symbol_level == 0) {
            secondary_abi_shared_libraries = []
            foreach(_library, angle_libraries) {
              secondary_abi_shared_libraries +=
                  [ "${angle_root}:lib${_library}${angle_libs_suffix}" +
                    "($android_secondary_abi_toolchain)" ]
            }
            if (angle_enable_vulkan_validation_layers) {
              foreach(_layer, vulkan_validation_layers) {
                secondary_abi_shared_libraries += [
                  "${angle_root}/third_party/vulkan-validation-layers:${_layer}" +
                      "($android_secondary_abi_toolchain)",
                ]
              }
            }
          } else {
            _secondary_out_dir = get_label_info(
                    ":compressed_symbols($android_secondary_abi_toolchain)",
                    "root_out_dir")
            secondary_abi_loadable_modules = []
            foreach(_library, angle_libraries) {
              secondary_abi_loadable_modules += [ "${_secondary_out_dir}/lib.compressed/lib${_library}${angle_libs_suffix}.so" ]
            }
            if (angle_enable_vulkan_validation_layers) {
              foreach(_layer, vulkan_validation_layers) {
                secondary_abi_loadable_modules +=
                    [ "${_secondary_out_dir}/lib.compressed/lib${_layer}.so" ]
              }
            }
          }
        }
    
        if (symbol_level == 0) {
          shared_libraries = []
          foreach(_library, angle_libraries) {
            shared_libraries +=
                [ "${angle_root}:lib${_library}${angle_libs_suffix}" ]
          }
          if (angle_enable_vulkan_validation_layers) {
            foreach(_layer, vulkan_validation_layers) {
              shared_libraries +=
                  [ "${angle_root}/third_party/vulkan-validation-layers:${_layer}" ]
            }
          }
        } else {
          loadable_modules = []
          foreach(_library, angle_libraries) {
            loadable_modules += [ "${root_out_dir}/lib.compressed/lib${_library}${angle_libs_suffix}.so" ]
          }
          if (angle_enable_vulkan_validation_layers) {
            foreach(_layer, vulkan_validation_layers) {
              loadable_modules +=
                  [ "${root_out_dir}/lib.compressed/lib${_layer}.so" ]
            }
          }
        }
      }
    }