5 #ifndef FLUTTER_IMPELLER_COMPILER_COMPILER_BACKEND_H_
6 #define FLUTTER_IMPELLER_COMPILER_COMPILER_BACKEND_H_
12 #include "flutter/fml/logging.h"
13 #include "flutter/fml/macros.h"
14 #include "spirv_glsl.hpp"
15 #include "spirv_msl.hpp"
22 using MSLCompiler = std::shared_ptr<spirv_cross::CompilerMSL>;
25 using Compiler = std::variant<MSLCompiler, GLSLCompiler, SkSLCompiler>;
47 const spirv_cross::Compiler*
operator->()
const;
51 explicit operator bool()
const;
58 spirv_cross::ID
id)
const;
66 const spirv_cross::CompilerMSL* GetMSLCompiler()
const;
68 const spirv_cross::CompilerGLSL* GetGLSLCompiler()
const;
76 #endif // FLUTTER_IMPELLER_COMPILER_COMPILER_BACKEND_H_