5#ifndef FLUTTER_IMPELLER_COMPILER_RUNTIME_STAGE_DATA_H_
6#define FLUTTER_IMPELLER_COMPILER_RUNTIME_STAGE_DATA_H_
11#include "flutter/fml/macros.h"
12#include "flutter/fml/mapping.h"
15#include "runtime_stage_types_flatbuffers.h"
16#include "spirv_parser.hpp"
29 std::vector<InputDescription>
inputs;
30 std::shared_ptr<fml::Mapping>
shader;
41 void AddShader(
const std::shared_ptr<Shader>& data);
53 std::map<RuntimeStageBackend, std::shared_ptr<Shader>> data_;
std::unique_ptr< fb::RuntimeStagesT > CreateMultiStageFlatbuffer() const
std::shared_ptr< fml::Mapping > CreateMapping() const
std::unique_ptr< fb::RuntimeStageT > CreateStageFlatbuffer(impeller::RuntimeStageBackend backend) const
void AddShader(const std::shared_ptr< Shader > &data)
std::shared_ptr< fml::Mapping > CreateJsonMapping() const
Shader & operator=(const Shader &)=delete
std::vector< InputDescription > inputs
Shader(const Shader &)=delete
std::vector< UniformDescription > uniforms
spv::ExecutionModel stage
std::shared_ptr< fml::Mapping > shader
RuntimeStageBackend backend