#pragma once #include "Access.hpp" #include "ir/Value.hpp" #include "spv.hpp" #include #include namespace shader { struct ModuleInfo { struct Param { ir::Value type; Access access = Access::None; }; struct Function { std::map variables; std::vector parameters; ir::Value returnType; }; std::map functions; }; ModuleInfo::Function &collectFunctionInfo(ModuleInfo &moduleInfo, ir::Value function); void collectModuleInfo(ModuleInfo &moduleInfo, const spv::BinaryLayout &layout); } // namespace shader