16749f541c20e86f5deb6fd421ed5849ef43c275cYang Ni/* 26749f541c20e86f5deb6fd421ed5849ef43c275cYang Ni * Copyright 2016, The Android Open Source Project 36749f541c20e86f5deb6fd421ed5849ef43c275cYang Ni * 46749f541c20e86f5deb6fd421ed5849ef43c275cYang Ni * Licensed under the Apache License, Version 2.0 (the "License"); 56749f541c20e86f5deb6fd421ed5849ef43c275cYang Ni * you may not use this file except in compliance with the License. 66749f541c20e86f5deb6fd421ed5849ef43c275cYang Ni * You may obtain a copy of the License at 76749f541c20e86f5deb6fd421ed5849ef43c275cYang Ni * 86749f541c20e86f5deb6fd421ed5849ef43c275cYang Ni * http://www.apache.org/licenses/LICENSE-2.0 96749f541c20e86f5deb6fd421ed5849ef43c275cYang Ni * 106749f541c20e86f5deb6fd421ed5849ef43c275cYang Ni * Unless required by applicable law or agreed to in writing, software 116749f541c20e86f5deb6fd421ed5849ef43c275cYang Ni * distributed under the License is distributed on an "AS IS" BASIS, 126749f541c20e86f5deb6fd421ed5849ef43c275cYang Ni * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 136749f541c20e86f5deb6fd421ed5849ef43c275cYang Ni * See the License for the specific language governing permissions and 146749f541c20e86f5deb6fd421ed5849ef43c275cYang Ni * limitations under the License. 156749f541c20e86f5deb6fd421ed5849ef43c275cYang Ni */ 166749f541c20e86f5deb6fd421ed5849ef43c275cYang Ni 176749f541c20e86f5deb6fd421ed5849ef43c275cYang Ni#ifndef RS_SPIRV_WRITER_H 186749f541c20e86f5deb6fd421ed5849ef43c275cYang Ni#define RS_SPIRV_WRITER_H 196749f541c20e86f5deb6fd421ed5849ef43c275cYang Ni 20669e475f679d20502ff90923ad0ff2aae2558f12Yang Ni#include <string> 216749f541c20e86f5deb6fd421ed5849ef43c275cYang Ni 226749f541c20e86f5deb6fd421ed5849ef43c275cYang Ninamespace llvm { 236749f541c20e86f5deb6fd421ed5849ef43c275cYang Niclass Module; 246749f541c20e86f5deb6fd421ed5849ef43c275cYang Niclass raw_ostream; 257974fc03e11f3a8dd40f794f3b33b4889483090cRahul Chaudhry} // namespace llvm 266749f541c20e86f5deb6fd421ed5849ef43c275cYang Ni 27bbf0b0eac5b1aa65ded878d80a0adc83e48527c8I-Jui (Ray) Sungnamespace bcinfo { 28bbf0b0eac5b1aa65ded878d80a0adc83e48527c8I-Jui (Ray) Sungclass MetadataExtractor; 29bbf0b0eac5b1aa65ded878d80a0adc83e48527c8I-Jui (Ray) Sung} // namespace bcinfo 30bbf0b0eac5b1aa65ded878d80a0adc83e48527c8I-Jui (Ray) Sung 316749f541c20e86f5deb6fd421ed5849ef43c275cYang Ninamespace rs2spirv { 326749f541c20e86f5deb6fd421ed5849ef43c275cYang Ni 33bbf0b0eac5b1aa65ded878d80a0adc83e48527c8I-Jui (Ray) Sungbool WriteSPIRV(llvm::Module *M, std::unique_ptr<bcinfo::MetadataExtractor> ME, 34bbf0b0eac5b1aa65ded878d80a0adc83e48527c8I-Jui (Ray) Sung llvm::raw_ostream &OS, std::string &ErrMsg); 356749f541c20e86f5deb6fd421ed5849ef43c275cYang Ni 366749f541c20e86f5deb6fd421ed5849ef43c275cYang Ni} // namespace rs2spirv 376749f541c20e86f5deb6fd421ed5849ef43c275cYang Ni 386749f541c20e86f5deb6fd421ed5849ef43c275cYang Ni#endif 39