5#ifndef FLUTTER_IMPELLER_COMPILER_COMPILER_BACKEND_H_
6#define FLUTTER_IMPELLER_COMPILER_COMPILER_BACKEND_H_
12#include "spirv_glsl.hpp"
13#include "spirv_msl.hpp"
20 using MSLCompiler = std::shared_ptr<spirv_cross::CompilerMSL>;
23 using Compiler = std::variant<MSLCompiler, GLSLCompiler, SkSLCompiler>;
46 const spirv_cross::Compiler*
operator->()
const;
50 explicit operator bool()
const;
57 spirv_cross::ID
id)
const;
65 const spirv_cross::CompilerMSL* GetMSLCompiler()
const;
67 const spirv_cross::CompilerGLSL* GetGLSLCompiler()
const;
std::shared_ptr< CompilerSkSL > SkSLCompiler
const spirv_cross::Compiler * operator->() const
spirv_cross::Compiler * GetCompiler()
std::shared_ptr< spirv_cross::CompilerGLSL > GLSLCompiler
std::shared_ptr< spirv_cross::CompilerMSL > MSLCompiler
uint32_t GetExtendedMSLResourceBinding(ExtendedResourceIndex index, spirv_cross::ID id) const
std::variant< MSLCompiler, GLSLCompiler, SkSLCompiler > Compiler