Flutter Impeller
impeller::PipelineLibrary Class Referenceabstract

#include <pipeline_library.h>

Inheritance diagram for impeller::PipelineLibrary:
impeller::PipelineLibraryGLES impeller::PipelineLibraryMTL impeller::PipelineLibraryVK

Public Member Functions

virtual ~PipelineLibrary ()
 
PipelineFuture< PipelineDescriptorGetPipeline (std::optional< PipelineDescriptor > descriptor)
 
PipelineFuture< ComputePipelineDescriptorGetPipeline (std::optional< ComputePipelineDescriptor > descriptor)
 
virtual bool IsValid () const =0
 
virtual PipelineFuture< PipelineDescriptorGetPipeline (PipelineDescriptor descriptor)=0
 
virtual PipelineFuture< ComputePipelineDescriptorGetPipeline (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 ( )
virtualdefault

◆ PipelineLibrary()

impeller::PipelineLibrary::PipelineLibrary ( )
protecteddefault

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::PipelineLibrary::GetPipeline
PipelineFuture< PipelineDescriptor > GetPipeline(std::optional< PipelineDescriptor > descriptor)
Definition: pipeline_library.cc:13