Home | History | Annotate | Download | only in tests
      1 #!/bin/bash
      2 
      3 # Copyright 2016, The Android Open Source Project
      4 #
      5 # Licensed under the Apache License, Version 2.0 (the "License");
      6 # you may not use this file except in compliance with the License.
      7 # You may obtain a copy of the License at
      8 #
      9 #     http://www.apache.org/licenses/LICENSE-2.0
     10 #
     11 # Unless required by applicable law or agreed to in writing, software
     12 # distributed under the License is distributed on an "AS IS" BASIS,
     13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     14 # See the License for the specific language governing permissions and
     15 # limitations under the License.
     16 
     17 # TODO: Consider rewriting as a native binary instead of shell script.
     18 
     19 if [ $# -lt 1 ]; then
     20   echo 1>&2 "$0: not enough arguments"
     21   echo 1>&2 $#
     22   exit 2
     23 fi
     24 
     25 script_path="$1"
     26 script_name=$(basename $script_path)
     27 script=${script_name%.*} # Remove extension.
     28 
     29 output_folder="driver_out"
     30 mkdir -p $output_folder
     31 
     32 eval llvm-as "$script_path" -o "$output_folder/$script.bc" &&
     33 eval rs2spirv "$output_folder/$script.bc" -o "$output_folder/$script.spv" &&
     34 eval spirv-val "$output_folder/$script.spv"
     35 
     36 if [ $? -ne 0 ]; then
     37   echo 1>&2 "Generated SPIR-V failed validation"
     38   exit -1
     39 fi
     40 
     41 eval spirv-dis --no-color "$output_folder/$script.spv"
     42 
     43 RET=$?
     44 
     45 #eval rm "$output_folder/$script.*"
     46 
     47 exit $RET
     48