Flutter Impeller
impeller::GenericRenderPipelineHandle Class Reference

#include <pipeline.h>

Inheritance diagram for impeller::GenericRenderPipelineHandle:
impeller::RenderPipelineHandle< VertexShader_, FragmentShader_ >

Public Member Functions

 GenericRenderPipelineHandle (const Context &context, std::optional< PipelineDescriptor > desc, bool async=true)
 
 GenericRenderPipelineHandle (PipelineFuture< PipelineDescriptor > future)
 
virtual ~GenericRenderPipelineHandle ()=default
 
std::shared_ptr< Pipeline< PipelineDescriptor > > WaitAndGet ()
 
std::optional< PipelineDescriptorGetDescriptor () const
 

Detailed Description

Holds a reference to a Pipeline used for rendering.

See also
RenderPipelineHandle the templated subclass that stores compile-time shader information.

Definition at line 114 of file pipeline.h.

Constructor & Destructor Documentation

◆ GenericRenderPipelineHandle() [1/2]

impeller::GenericRenderPipelineHandle::GenericRenderPipelineHandle ( const Context context,
std::optional< PipelineDescriptor desc,
bool  async = true 
)
inlineexplicit

Definition at line 116 of file pipeline.h.

120  CreatePipelineFuture(context, std::move(desc), /*async=*/async)) {}
GenericRenderPipelineHandle(const Context &context, std::optional< PipelineDescriptor > desc, bool async=true)
Definition: pipeline.h:116
PipelineFuture< PipelineDescriptor > CreatePipelineFuture(const Context &context, std::optional< PipelineDescriptor > desc, bool async)
Create a pipeline for the given descriptor.
Definition: pipeline.cc:24

◆ GenericRenderPipelineHandle() [2/2]

impeller::GenericRenderPipelineHandle::GenericRenderPipelineHandle ( PipelineFuture< PipelineDescriptor future)
inlineexplicit

Definition at line 122 of file pipeline.h.

124  : pipeline_future_(std::move(future)) {}

◆ ~GenericRenderPipelineHandle()

virtual impeller::GenericRenderPipelineHandle::~GenericRenderPipelineHandle ( )
virtualdefault

Member Function Documentation

◆ GetDescriptor()

std::optional<PipelineDescriptor> impeller::GenericRenderPipelineHandle::GetDescriptor ( ) const
inline

Definition at line 139 of file pipeline.h.

139  {
140  return pipeline_future_.descriptor;
141  }

◆ WaitAndGet()

std::shared_ptr<Pipeline<PipelineDescriptor> > impeller::GenericRenderPipelineHandle::WaitAndGet ( )
inline

Definition at line 128 of file pipeline.h.

128  {
129  if (did_wait_) {
130  return pipeline_;
131  }
132  did_wait_ = true;
133  if (pipeline_future_.IsValid()) {
134  pipeline_ = pipeline_future_.Get();
135  }
136  return pipeline_;
137  }

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