25 using Map = std::map<RuntimeStageBackend, std::shared_ptr<RuntimeStage>>;
27 const std::shared_ptr<fml::Mapping>& payload);
29 static absl::StatusOr<RuntimeStage>
Create(
30 const fb::RuntimeStage* runtime_stage,
31 const std::shared_ptr<fml::Mapping>& payload);
39 const std::vector<RuntimeUniformDescription>&
GetUniforms()
const;
54 explicit RuntimeStage(std::shared_ptr<fml::Mapping> payload);
56 std::shared_ptr<fml::Mapping> payload_;
58 std::string entrypoint_;
59 std::shared_ptr<fml::Mapping> code_mapping_;
60 std::vector<RuntimeUniformDescription> uniforms_;
61 std::vector<DescriptorSetLayout> descriptor_set_layouts_;
62 bool is_dirty_ =
true;
66 static std::unique_ptr<RuntimeStage> RuntimeStageIfPresent(
67 const fb::RuntimeStage* runtime_stage,
68 const std::shared_ptr<fml::Mapping>& payload);