5 #ifndef FLUTTER_IMPELLER_COMPILER_COMPILER_H_
6 #define FLUTTER_IMPELLER_COMPILER_COMPILER_H_
8 #include <initializer_list>
12 #include "flutter/fml/macros.h"
13 #include "flutter/fml/mapping.h"
19 #include "spirv_msl.hpp"
20 #include "spirv_parser.hpp"
27 Compiler(
const std::shared_ptr<const fml::Mapping>& source_mapping,
44 std::initializer_list<std::string> targets)
const;
50 std::shared_ptr<fml::Mapping> spirv_assembly_;
51 std::shared_ptr<fml::Mapping> sl_mapping_;
52 std::stringstream error_stream_;
53 std::unique_ptr<Reflector> reflector_;
54 std::vector<std::string> included_file_names_;
55 bool is_valid_ =
false;
57 std::string GetSourcePrefix()
const;
59 std::string GetDependencyNames(
const std::string& separator)
const;
69 #endif // FLUTTER_IMPELLER_COMPILER_COMPILER_H_