Flutter Engine
The Flutter Engine
pipeline_library.h
Go to the documentation of this file.
1// Copyright 2013 The Flutter Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef FLUTTER_IMPELLER_RENDERER_PIPELINE_LIBRARY_H_
6#define FLUTTER_IMPELLER_RENDERER_PIPELINE_LIBRARY_H_
7
8#include <optional>
9
13
14namespace impeller {
15
16class Context;
17
18using PipelineMap = std::unordered_map<PipelineDescriptor,
22
24 std::unordered_map<ComputePipelineDescriptor,
28
29class PipelineLibrary : public std::enable_shared_from_this<PipelineLibrary> {
30 public:
32
34 std::optional<PipelineDescriptor> descriptor,
35 bool async = true);
36
38 std::optional<ComputePipelineDescriptor> descriptor,
39 bool async = true);
40
41 virtual bool IsValid() const = 0;
42
44 PipelineDescriptor descriptor,
45 bool async = true) = 0;
46
49 bool async = true) = 0;
50
52 std::shared_ptr<const ShaderFunction> function) = 0;
53
54 protected:
56
57 private:
58 PipelineLibrary(const PipelineLibrary&) = delete;
59
60 PipelineLibrary& operator=(const PipelineLibrary&) = delete;
61};
62
63} // namespace impeller
64
65#endif // FLUTTER_IMPELLER_RENDERER_PIPELINE_LIBRARY_H_
virtual PipelineFuture< ComputePipelineDescriptor > GetPipeline(ComputePipelineDescriptor descriptor, bool async=true)=0
virtual void RemovePipelinesWithEntryPoint(std::shared_ptr< const ShaderFunction > function)=0
virtual bool IsValid() const =0
virtual PipelineFuture< PipelineDescriptor > GetPipeline(PipelineDescriptor descriptor, bool async=true)=0
PipelineFuture< PipelineDescriptor > GetPipeline(std::optional< PipelineDescriptor > descriptor, bool async=true)
Dart_NativeFunction function
Definition: fuchsia.cc:51
std::unordered_map< ComputePipelineDescriptor, PipelineFuture< ComputePipelineDescriptor >, ComparableHash< ComputePipelineDescriptor >, ComparableEqual< ComputePipelineDescriptor > > ComputePipelineMap
std::unordered_map< PipelineDescriptor, PipelineFuture< PipelineDescriptor >, ComparableHash< PipelineDescriptor >, ComparableEqual< PipelineDescriptor > > PipelineMap