| Flutter Impeller |

Public Member Functions | Protected Member Functions | List of all members
impeller::PipelineLibrary Class Referenceabstract

`#include <pipeline_library.h>`

Inheritance diagram for impeller::PipelineLibrary:

## Public Member Functions
virtual | ~PipelineLibrary ()
PipelineFuture< PipelineDescriptor > | GetPipeline (std::optional< PipelineDescriptor > descriptor)
PipelineFuture< ComputePipelineDescriptor > | GetPipeline (std::optional< ComputePipelineDescriptor > descriptor)
virtual bool | IsValid () const =0
virtual PipelineFuture< PipelineDescriptor > | GetPipeline (PipelineDescriptor descriptor)=0
virtual PipelineFuture< ComputePipelineDescriptor > | GetPipeline (ComputePipelineDescriptor descriptor)=0
virtual void | RemovePipelinesWithEntryPoint (std::shared_ptr< const ShaderFunction > function)=0

## Protected Member Functions
| PipelineLibrary ()

## Detailed Description

Definition at line 30 of file pipeline_library.h.

## Constructor & Destructor Documentation

## ◆ ~PipelineLibrary()

impeller::PipelineLibrary::~PipelineLibrary | ( |  | ) |
| virtual default

## ◆ PipelineLibrary()

impeller::PipelineLibrary::PipelineLibrary | ( |  | ) |
| protected default

## Member Function Documentation

## ◆ GetPipeline() [1/4]

virtual PipelineFuture<ComputePipelineDescriptor> impeller::PipelineLibrary::GetPipeline | ( | ComputePipelineDescriptor | descriptor | ) |
| pure virtual

## ◆ GetPipeline() [2/4]

virtual PipelineFuture<PipelineDescriptor> impeller::PipelineLibrary::GetPipeline | ( | PipelineDescriptor | descriptor | ) |
| pure virtual

## ◆ GetPipeline() [3/4]

PipelineFuture< ComputePipelineDescriptor > impeller::PipelineLibrary::GetPipeline | ( | std::optional< ComputePipelineDescriptor > | descriptor | ) |

Definition at line 24 of file pipeline_library.cc.

25 {
26 if (descriptor.has_value()) {
27 return GetPipeline(descriptor.value());
28 }
29 auto promise = std::make_shared<
30 std::promise<std::shared_ptr<Pipeline<ComputePipelineDescriptor>>>>();
31 promise->set_value(nullptr);
32 return {descriptor, promise->get_future()};
33 }

References GetPipeline().

## ◆ GetPipeline() [4/4]

PipelineFuture< PipelineDescriptor > impeller::PipelineLibrary::GetPipeline | ( | std::optional< PipelineDescriptor > | descriptor | ) |

Definition at line 13 of file pipeline_library.cc.

14 {
15 if (descriptor.has_value()) {
16 return GetPipeline(descriptor.value());
17 }
18 auto promise = std::make_shared<
19 std::promise<std::shared_ptr<Pipeline<PipelineDescriptor>>>>();
20 promise->set_value(nullptr);
21 return {descriptor, promise->get_future()};
22 }

Referenced by GetPipeline().

## ◆ IsValid()

virtual bool impeller::PipelineLibrary::IsValid | ( |  | ) | const
| pure virtual

## ◆ RemovePipelinesWithEntryPoint()

virtual void impeller::PipelineLibrary::RemovePipelinesWithEntryPoint | ( | std::shared_ptr< const ShaderFunction > | function | ) |
| pure virtual

The documentation for this class was generated from the following files:

- impeller/renderer/pipeline_library.h
- impeller/renderer/pipeline_library.cc

impeller::PipelineLibrary::GetPipeline
PipelineFuture< PipelineDescriptor > GetPipeline(std::optional< PipelineDescriptor > descriptor)
Definition: pipeline_library.cc:13