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