| 80 | } |
| 81 | |
| 82 | std::unique_ptr<spvtools::opt::IRContext> load_module(const char* path) { |
| 83 | if (is_assembly(path)) { |
| 84 | std::vector<char> contents; |
| 85 | if (!ReadTextFile(path, &contents)) return {}; |
| 86 | |
| 87 | return spvtools::BuildModule( |
| 88 | kDefaultEnvironment, spvtools::utils::CLIMessageConsumer, |
| 89 | std::string(contents.begin(), contents.end()), |
| 90 | static_cast<spv_text_to_binary_options_t>( |
| 91 | spvtools::SpirvTools::kDefaultAssembleOption) | |
| 92 | SPV_TEXT_TO_BINARY_OPTION_PRESERVE_NUMERIC_IDS); |
| 93 | } |
| 94 | |
| 95 | std::vector<uint32_t> contents; |
| 96 | if (!ReadBinaryFile(path, &contents)) return {}; |
| 97 | |
| 98 | return spvtools::BuildModule(kDefaultEnvironment, |
| 99 | spvtools::utils::CLIMessageConsumer, |
| 100 | contents.data(), contents.size()); |
| 101 | } |
| 102 | |
| 103 | } // namespace |
| 104 |
no test coverage detected