• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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
19if [ $# -lt 1 ]; then
20  echo 1>&2 "$0: not enough arguments"
21  echo 1>&2 $#
22  exit 2
23fi
24
25script_path="$1"
26script_name=$(basename $script_path)
27script=${script_name%.*} # Remove extension.
28
29output_folder="driver_out"
30mkdir -p $output_folder
31
32eval llvm-as "$script_path" -o "$output_folder/$script.bc" &&
33eval rs2spirv "$output_folder/$script.bc" -o "$output_folder/$script.spv" &&
34eval spirv-val "$output_folder/$script.spv"
35
36if [ $? -ne 0 ]; then
37  echo 1>&2 "Generated SPIR-V failed validation"
38  exit -1
39fi
40
41eval spirv-dis --no-color "$output_folder/$script.spv"
42
43RET=$?
44
45#eval rm "$output_folder/$script.*"
46
47exit $RET
48