xref: /aosp_15_r20/external/executorch/.ci/scripts/setup-vulkan-linux-deps.sh (revision 523fa7a60841cd1ecfb9cc4201f1ca8b03ed023a)
1
2#!/bin/bash
3# Copyright (c) Meta Platforms, Inc. and affiliates.
4# All rights reserved.
5#
6# This source code is licensed under the BSD-style license found in the
7# LICENSE file in the root directory of this source tree.
8
9set -ex
10
11install_swiftshader() {
12  _https_amazon_aws=https://ossci-android.s3.amazonaws.com
13  _swiftshader_archive=swiftshader-abe07b943-prebuilt.tar.gz
14  _swiftshader_dir=/tmp/swiftshader
15  mkdir -p $_swiftshader_dir
16
17  _tmp_archive="/tmp/${_swiftshader_archive}"
18
19  curl --silent --show-error --location --fail --retry 3 \
20    --output "${_tmp_archive}" "$_https_amazon_aws/${_swiftshader_archive}"
21
22  tar -C "${_swiftshader_dir}" -xzf "${_tmp_archive}"
23
24  export VK_ICD_FILENAMES="${_swiftshader_dir}/swiftshader/build/Linux/vk_swiftshader_icd.json"
25  export LD_LIBRARY_PATH="${_swiftshader_dir}/swiftshader/build/Linux/"
26}
27
28install_vulkan_sdk() {
29  VULKAN_SDK_VERSION=$1
30  _vulkan_sdk_url="https://sdk.lunarg.com/sdk/download/${VULKAN_SDK_VERSION}/linux/vulkansdk-linux-x86_64-${VULKAN_SDK_VERSION}.tar.gz"
31
32  _vulkan_sdk_dir=/tmp/vulkansdk
33  mkdir -p $_vulkan_sdk_dir
34
35  _tmp_archive="/tmp/vulkansdk.tar.gz"
36
37  curl --silent --show-error --location --fail --retry 3 \
38    --output "${_tmp_archive}" "${_vulkan_sdk_url}"
39
40  tar -C "${_vulkan_sdk_dir}" -xzf "${_tmp_archive}"
41
42  export PATH="${PATH}:${_vulkan_sdk_dir}/${VULKAN_SDK_VERSION}/x86_64/bin/"
43}
44
45VULKAN_SDK_VERSION="1.2.198.1"
46
47install_swiftshader
48install_vulkan_sdk "${VULKAN_SDK_VERSION}"
49