5 #ifndef FLUTTER_IMPELLER_RUNTIME_STAGE_RUNTIME_STAGE_H_
6 #define FLUTTER_IMPELLER_RUNTIME_STAGE_RUNTIME_STAGE_H_
12 #include "flutter/fml/mapping.h"
16 #include "runtime_stage_types_flatbuffers.h"
24 using Map = std::map<RuntimeStageBackend, std::shared_ptr<RuntimeStage>>;
28 const std::shared_ptr<fml::Mapping>& payload);
37 const std::vector<RuntimeUniformDescription>&
GetUniforms()
const;
52 std::shared_ptr<fml::Mapping> payload_;
54 std::string entrypoint_;
55 std::shared_ptr<fml::Mapping> code_mapping_;
56 std::vector<RuntimeUniformDescription> uniforms_;
57 std::vector<DescriptorSetLayout> descriptor_set_layouts_;
58 bool is_valid_ =
false;
59 bool is_dirty_ =
true;
63 static std::unique_ptr<RuntimeStage> RuntimeStageIfPresent(
64 const fb::RuntimeStage* runtime_stage,
65 const std::shared_ptr<fml::Mapping>& payload);
72 #endif // FLUTTER_IMPELLER_RUNTIME_STAGE_RUNTIME_STAGE_H_