5 #ifndef FLUTTER_IMPELLER_RUNTIME_STAGE_RUNTIME_STAGE_H_
6 #define FLUTTER_IMPELLER_RUNTIME_STAGE_RUNTIME_STAGE_H_
12 #include "flutter/fml/macros.h"
13 #include "flutter/fml/mapping.h"
16 #include "runtime_stage_types_flatbuffers.h"
22 using Map = std::map<RuntimeStageBackend, std::shared_ptr<RuntimeStage>>;
26 const std::shared_ptr<fml::Mapping>& payload);
35 const std::vector<RuntimeUniformDescription>&
GetUniforms()
const;
48 std::shared_ptr<fml::Mapping> payload_;
50 std::string entrypoint_;
51 std::shared_ptr<fml::Mapping> code_mapping_;
52 std::vector<RuntimeUniformDescription> uniforms_;
53 bool is_valid_ =
false;
54 bool is_dirty_ =
true;
58 static std::unique_ptr<RuntimeStage> RuntimeStageIfPresent(
59 const fb::RuntimeStage* runtime_stage,
60 const std::shared_ptr<fml::Mapping>& payload);
67 #endif // FLUTTER_IMPELLER_RUNTIME_STAGE_RUNTIME_STAGE_H_