rs2spirv_driver.sh revision 6749f541c20e86f5deb6fd421ed5849ef43c275c
16749f541c20e86f5deb6fd421ed5849ef43c275cYang Ni# Copyright 2016, The Android Open Source Project 26749f541c20e86f5deb6fd421ed5849ef43c275cYang Ni# 36749f541c20e86f5deb6fd421ed5849ef43c275cYang Ni# Licensed under the Apache License, Version 2.0 (the "License"); 46749f541c20e86f5deb6fd421ed5849ef43c275cYang Ni# you may not use this file except in compliance with the License. 56749f541c20e86f5deb6fd421ed5849ef43c275cYang Ni# You may obtain a copy of the License at 66749f541c20e86f5deb6fd421ed5849ef43c275cYang Ni# 76749f541c20e86f5deb6fd421ed5849ef43c275cYang Ni# http://www.apache.org/licenses/LICENSE-2.0 86749f541c20e86f5deb6fd421ed5849ef43c275cYang Ni# 96749f541c20e86f5deb6fd421ed5849ef43c275cYang Ni# Unless required by applicable law or agreed to in writing, software 106749f541c20e86f5deb6fd421ed5849ef43c275cYang Ni# distributed under the License is distributed on an "AS IS" BASIS, 116749f541c20e86f5deb6fd421ed5849ef43c275cYang Ni# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 126749f541c20e86f5deb6fd421ed5849ef43c275cYang Ni# See the License for the specific language governing permissions and 136749f541c20e86f5deb6fd421ed5849ef43c275cYang Ni# limitations under the License. 146749f541c20e86f5deb6fd421ed5849ef43c275cYang Ni 156749f541c20e86f5deb6fd421ed5849ef43c275cYang Ni#!/bin/bash 166749f541c20e86f5deb6fd421ed5849ef43c275cYang Ni 176749f541c20e86f5deb6fd421ed5849ef43c275cYang Niif [ $# -lt 3 ]; then 186749f541c20e86f5deb6fd421ed5849ef43c275cYang Ni echo 1>&2 "$0: not enough arguments" 196749f541c20e86f5deb6fd421ed5849ef43c275cYang Ni echo 1>&2 $# 206749f541c20e86f5deb6fd421ed5849ef43c275cYang Ni exit 2 216749f541c20e86f5deb6fd421ed5849ef43c275cYang Nifi 226749f541c20e86f5deb6fd421ed5849ef43c275cYang Ni 236749f541c20e86f5deb6fd421ed5849ef43c275cYang NiAND_HOME=$ANDROID_BUILD_TOP 246749f541c20e86f5deb6fd421ed5849ef43c275cYang NiSPIRV_TOOLS_PATH=$1 256749f541c20e86f5deb6fd421ed5849ef43c275cYang Ni 266749f541c20e86f5deb6fd421ed5849ef43c275cYang Niscript_name="$2" 276749f541c20e86f5deb6fd421ed5849ef43c275cYang Niscript=${2%.*} # Remove extension. 286749f541c20e86f5deb6fd421ed5849ef43c275cYang Ni 296749f541c20e86f5deb6fd421ed5849ef43c275cYang Nioutput_folder="$3" 306749f541c20e86f5deb6fd421ed5849ef43c275cYang Nimkdir -p $output_folder 316749f541c20e86f5deb6fd421ed5849ef43c275cYang Ni 326749f541c20e86f5deb6fd421ed5849ef43c275cYang Nieval llvm-rs-cc -o "$output_folder" -S -emit-llvm -Wall -Werror -target-api 24 \ 336749f541c20e86f5deb6fd421ed5849ef43c275cYang Ni -I "$AND_HOME/external/clang/lib/Headers" -I "$AND_HOME/frameworks/rs/scriptc" \ 346749f541c20e86f5deb6fd421ed5849ef43c275cYang Ni "$script_name" 356749f541c20e86f5deb6fd421ed5849ef43c275cYang Nieval llvm-as "$output_folder/bc32/$script.ll" -o "$output_folder/$script.bc" 366749f541c20e86f5deb6fd421ed5849ef43c275cYang Nieval rs2spirv "$output_folder/$script.bc" -o "$output_folder/$script.rs.spv" \ 376749f541c20e86f5deb6fd421ed5849ef43c275cYang Ni -wo "$output_folder/$script.w.spt" -debug 386749f541c20e86f5deb6fd421ed5849ef43c275cYang Nieval "$SPIRV_TOOLS_PATH/spirv-dis" "$output_folder/$script.rs.spv" \ 396749f541c20e86f5deb6fd421ed5849ef43c275cYang Ni --no-color > "$output_folder/$script.rs.spt" 406749f541c20e86f5deb6fd421ed5849ef43c275cYang Nieval rs2spirv -o "$output_folder/$script.spt" -lk "$output_folder/$script.rs.spt" \ 416749f541c20e86f5deb6fd421ed5849ef43c275cYang Ni -lw "$output_folder/$script.w.spt" -debug 426749f541c20e86f5deb6fd421ed5849ef43c275cYang Nieval "$SPIRV_TOOLS_PATH/spirv-as" "$output_folder/$script.spt" \ 436749f541c20e86f5deb6fd421ed5849ef43c275cYang Ni -o "$output_folder/$script.spv" 446749f541c20e86f5deb6fd421ed5849ef43c275cYang Niecho 456749f541c20e86f5deb6fd421ed5849ef43c275cYang Nieval rs2spirv "$output_folder/$script.spv" -print-as-words 466749f541c20e86f5deb6fd421ed5849ef43c275cYang Niecho 476749f541c20e86f5deb6fd421ed5849ef43c275cYang Nieval "$SPIRV_TOOLS_PATH/spirv-val" "$output_folder/$script.spv" 486749f541c20e86f5deb6fd421ed5849ef43c275cYang Niecho 49